Искать  
 
   
 
Простые вопросы
Отправлено: 27 Ноябрь 2008 05:30 A.M.   [ Игнорировать ]
Студент
Avatar
RankRank
Всего сообщений:  142
Зарегистрирован  2008-01-02

1) В чем разница между path и title_permalink. Когда использовать первое, а когда второе?
2) Какова официальная позиция в плане стилизации тегов. Примеры {embed=“embeds/document.header”} либо {embed=embeds/document.header} - {path=“news”}, {path=news} или {path=‘news’} и по аналогии. Как правильнее с точки зрения PHP?

3)

<div class="calendar">
                    <
div class="month">01.09</div>
                    <
div class="year">2008</div>
                </
div> 

Вывожу как

<div class="month">{date_entry format="%d.%m"}</div>
<
div class="year">{date_entry format="%y"}</div> 

Как можно обойтись вызовом date_entry единоразово?

Профиль
 
 
Отправлено: 27 Ноябрь 2008 10:42 A.M.   [ Игнорировать ]   [ # 1 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

1. {title_permalink} несет в себе уникальный адрес новости (по title; если требуется сделать по номеру - есть {permalink}) + url title из настроек веблога (и использовать его можно только в {exp:weblog:entries}).
path это больше глобальная переменная - основа в ней - индекс сайта и что бы сделать полный путь к той же новости, надо добавлять еще параметры. Где, что использовать лучше? Думаю, что для ссылок в новостях, лучше использовать  {title_permalink} и {permalink}. В остальных случаях - Path.

2. С точки зрения php - лучше одинарные, т.к. насколько я знаю, когда текст заключен заключён в двойные кавычки, текст сканируется на переменные в нем. Офф. позиции, судя по документации - используют двойные в параметрах(думаю как раз для того, что бы в случае чего туда можно было бы подставить доп. параметры в шаблонах) , и одинарные там, где пути ({embed=‘something’}).

3. рад бы ошибиться, но думаю, более оптимально для сервера, никак.

 Подпись 

booooring…

Профиль
 
 
Отправлено: 27 Ноябрь 2008 02:24 P.M.   [ Игнорировать ]   [ # 2 ]
Новичок
Avatar
Rank
Всего сообщений:  36
Зарегистрирован  2008-01-09
<div class="month">{date_entry format="%d.%m"}</div>
<
div class="year">{date_entry format="%y"}</div> 

может так

{date_entry format="<div class='month'>%d.%m</div><div class='year'>%y</div>"} 
Профиль
 
 
Отправлено: 27 Ноябрь 2008 03:17 P.M.   [ Игнорировать ]   [ # 3 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

ну не совсем так, внутри format’a не должно быть кавычек. Ни одинарных, ни двойных

format="<div class=month>%d.%m</div><div class=year>%y</div>" 

- вот это ЕЕ обработает, но с точки зрения xhtml результат будет не корректный.

 Подпись 

booooring…

Профиль
 
 
Отправлено: 28 Ноябрь 2008 05:13 A.M.   [ Игнорировать ]   [ # 4 ]
Студент
Avatar
RankRank
Всего сообщений:  142
Зарегистрирован  2008-01-02

Комментарий по одинарным кавычкам так-же применим для конструкции вида {if segment_1 != ‘’} или {exp:weblog:entries limit=‘1’} или нет?

Профиль
 
 
Отправлено: 28 Ноябрь 2008 08:30 A.M.   [ Игнорировать ]   [ # 5 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

я думаю, что вообще везде, где вы не собираетесь использовать переменные в значения, стоит использовать одинарные кавычки.

 Подпись 

booooring…

Профиль
 
 
Отправлено: 28 Ноябрь 2008 11:31 A.M.   [ Игнорировать ]   [ # 6 ]
Студент
Avatar
RankRank
Всего сообщений:  142
Зарегистрирован  2008-01-02

Как я понял вывод таков:

{embed=“embeds/document.footer” cat=“1”} - Верно.
{embed=‘embeds/document.footer’ cat=‘1’} - Неверно.
{embed=‘embeds/document.footer’} - Верно.

Новый вопрос.

На сайте имеется боковое меню. Я сделал его динамическим таким образом:

Создал категории и назначаю соответсвующие к ним записи (записи через модуль pages, следовательно категории выступают просто в роли плейсхолдеров). Все-те записи которые не имеют сабкатегории, но должны что-то выводить были приаттачены к новой категории, скажем Default (No Category).

В главном шаблоне (index) имею такую конструкцию:

{embed="embeds/document.column-right" catnum="5"} 

Где ID 5 является категорией Default.

Сам шаблон

<div id="rightcolumn">
        <
div class="formbg">
            <
div class="catmenu">
            
{if segment_1 == "students"}
                {embed
="embeds/document.menu-column-right" cat="3"}
            {if
:else}
            {exp
:weblog:categories show="{embed:catnum}" show_empty="yes" limit="1" style="linear"}
                
<h2>{category_name}</h2>
            
{/exp:weblog:categories}
                
<ul>
                
{exp:weblog:entries category="{embed:catnum}" sort="asc" offset="1" dynamic="off"}
                    
<li><a href="{page_url}">{title}</a></li>
                
{/exp:weblog:entries}
                
</ul>
            
{/if}
            
</div>
        </
div> 

Как видно он выводит все записи из категории с id 5, но теперь нам требуется выводить сами страницы нормальных категорий, следовательно цепляем конструкцию вида

{if segment_1 == "students"}
                {embed
="embeds/document.menu-column-right" cat="3"} 

Сам шаблон

{exp:weblog:categories show="{embed:cat}" show_empty="yes" limit="1" style="linear"}
                
<h2>{category_name}</h2>
            
{/exp:weblog:categories}
                
<ul>
                
{exp:weblog:entries category="{embed:cat}" sort="asc" offset="1" dynamic="off"}
                    
<li><a href="{page_url}">{title}</a></li>
                
{/exp:weblog:entries} 

Собственно вопросы:
1) Как еще можно подойти к данной реализации, чтобы сделать попроще (без использование плагинов и прочего, не люблю их).
2) Как можно уменьшить количество используемых шаблонов (на сложных порталах будет огромное количество шаблонов в группе embeds. В идеале хотелось бы иметь все в document.column-right.

Профиль