Искать  
 
   
 
Как в title вставить название категории
Отправлено: 21 Январь 2008 08:01 P.M.   [ Игнорировать ]
Member
RankRankRank
Всего сообщений:  158
Зарегистрирован  2008-01-21

Вот пример для темплейта comments:

<title>{exp:weblog:info weblog="{my_weblog}"}{blog_title}{/exp:weblog:info}
 
{exp:weblog:category_heading weblog="default_site"}{category_name}{/exp:weblog:category_heading}
 
{exp:weblog:entries require_entry="yes" limit="1"}{title}{/exp:weblog:entries}</title

Хотелось бы через тире выводить Имя веблога - имя категории - заголовок сообщения. Получается Имя веблога - - заголовок сообщения
У меня для ссылок на категории используются не IDs (в ссылках номера категорий), а Category URL Title (в ссылках короткие названия категорий на инглише).

Профиль
 
 
Отправлено: 21 Январь 2008 08:16 P.M.   [ Игнорировать ]   [ # 1 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  1423
Зарегистрирован  2007-12-27

попробуй status=“open’ добавить в { exp:weblog:category_heading

 Подпись 

ExpressionEngine - SEO-ориентированный движок

Профиль
 
 
Отправлено: 22 Январь 2008 03:10 P.M.   [ Игнорировать ]   [ # 2 ]
Member
RankRankRank
Всего сообщений:  158
Зарегистрирован  2008-01-21

http://expressionengine.com/forums/viewthread/66353/
Здесь тоже проблемка- у человека тоже не работает { exp:weblog:category_heading
И здесь http://expressionengine.com/forums/viewthread/54935/

Профиль
 
 
Отправлено: 22 Январь 2008 03:31 P.M.   [ Игнорировать ]   [ # 3 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  1423
Зарегистрирован  2007-12-27

на eeclub работает следующий код

{exp:weblog:category_heading weblog="site" disable="category_fields"}
{category_name}{
/exp:weblog:category_heading} 
 Подпись 

ExpressionEngine - SEO-ориентированный движок

Профиль
 
 
Отправлено: 25 Январь 2008 04:14 P.M.   [ Игнорировать ]   [ # 4 ]
Member
RankRankRank
Всего сообщений:  158
Зарегистрирован  2008-01-21

Пока так сделала, чтоб работало:

{exp:weblog:entries}{categories}{category_name}{/categories}{/exp:weblog:entries} 

Так и не могу понять, почему у меня ваш способ не работает. Апгрейд на 1.6.1 не помог.
Сейчас разбираюсь, почему если из индекснй страницы щелкаю на название категории, открывается  вроде в темплейте index, а не categories.

Профиль
 
 
Отправлено: 28 Январь 2008 06:31 P.M.   [ Игнорировать ]   [ # 5 ]
Member
RankRankRank
Всего сообщений:  158
Зарегистрирован  2008-01-21

Вот что удалось выяснить.
Темплейт site/index работает у меня на главной странице сайта плюс на следующих страницах, которые с него открываются:
-если я жму по ссылкам категорий, открывается страница с записями этой категории
-если я жму по ссылкам месяцев, открывается страница с записями этого месяца
Темплейт site/comments вступает в силу, если с индексной главной страницы, либо с другой, мы зашли по ссылке на конкретное сообщение (просмотреть его полностью, добавить комментарий)
Темплейт site/categories вступает в силу, если мы заходим по ссылке Category Archives (обычно краткий список с заголовками сообщений, разбитых по категориям)
Темплейт site/archives вступает в силу, если мы заходим по ссылке Complete Archives (обычно краткий список с заголовками сообщений, отсортированных по дате в порядке убывания).

Например, я задала имя сайта Хроники гомосапиенса smile
Итак, в темплейте site/index в title я хочу вывести заголовок сайта плюс название категории:

<title>{site_name} >> 
{exp:weblog:category_heading weblog="{my_weblog}"}{category_name}{/exp:weblog:category_heading}</title

Этот код на главной странице выведет в заголовке:

Хроники гомосапиенса >> 

Если зайдем по ссылке в категорию Книги, результат будет такой:

Хроники гомосапиенса >> Книги 

Если же мы просматриваем отдельное сообщение, то код

{exp:weblog:category_heading.. 

не работает. Поэтому в коде темплейта site/comments я вывожу название категории, которой принадлежит сообщение, так:

<title>{exp:weblog:info weblog="{my_weblog}"}{blog_title}{/exp:weblog:info} >>
{exp:weblog:entries}{categories}{category_name}{/categories}{/exp:weblog:entries}
>> {exp:weblog:entries require_entry="yes" limit="1"}{title}{/exp:weblog:entries}
</title

Если, например, у меня есть запись с заголовком Дети против волшебников, которое принадлежит категории Книги, то в title получаем:

Хроники гомосапиенса >> Книги >> Дети против волшебников 

Если мое сообщение принадлежит категориям Книги и Блог, то в title появится:

Хроники гомосапиенса >> БлогКниги >> Дети против волшебников 

Мы можем показать только первую по алфавиту категорию, ограничив число выводимых категорий:

<title>{exp:weblog:info weblog="{my_weblog}"}{blog_title}{/exp:weblog:info} >>
{exp:weblog:entries}{categories limit="1"}{category_name}{/categories}{/exp:weblog:entries}
>> {exp:weblog:entries require_entry="yes" limit="1"}{title}{/exp:weblog:entries}
</title

Тогда получим

Хроники гомосапиенса >> Блог >> Дети против волшебников 

Вопросы:
1. Почему exp:weblog:category_heading работает в одном темплейте (index), но не работает в другом (comments). Потому что во втором случае выводится одно сообщение, а не список, принадлежащий категории?
2. Возможно ли сделать вывод title как у меня, но чтобы был один общий код для title, а то он различается у меня в разных темплейтах.
3. Как сделать чтобы на заглавной странице выводилось что-то типа того (при этом чтоб при нажатии на названии категории слово “Главная страница” отсутствовало:

Хроники гомосапиенса >> Главная страница 

4. Можно ли выводить категории через запятую, если сообщение принадлежит нескольким категориям.
5. Можно ли при выводе списка сообщений, принадлежащих какой-то категории, пользоваться не темплейтом site/index, а каким-то другим.

Профиль
 
 
Отправлено: 28 Январь 2008 07:16 P.M.   [ Игнорировать ]   [ # 6 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  1423
Зарегистрирован  2007-12-27

Главная страница и страница новости могут имет такой вот код

<title>
{exp:weblog:entries weblog=“default_site” limit=“1”
disable=“trackbacks|pagination|member_data|custom_fields” rdf=“off”}
{weblog} {if segment_3 != “”}{exp:weblog:categories backspace=“2”}{category_name}, {/exp:weblog:categories} - {title}{/if}
{/exp:weblog:entries}

</title>

backspace=”2” - убирает последние 2 знака, т.е. запятую и пробел

P.S. Код на работоспособность не проверял

 Подпись 

ExpressionEngine - SEO-ориентированный движок

Профиль
 
 
Отправлено: 28 Январь 2008 08:15 P.M.   [ Игнорировать ]   [ # 7 ]
Member
RankRankRank
Всего сообщений:  158
Зарегистрирован  2008-01-21

Показывает только имя блога bestann.
Наверху страницы сообщает об ошибке:

Parse error: syntax error, unexpected ‘“’ in /usr/home/bestann/www/system/core/core.template.php(3029) : eval()‘d code on line 1
Notice: Undefined variable: result in /usr/home/bestann/www/system/core/core.template.php on line 3032

Профиль
 
 
Отправлено: 28 Январь 2008 08:29 P.M.   [ Игнорировать ]   [ # 8 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  1423
Зарегистрирован  2007-12-27

замените кавычки в слове {if segment_3 != “”}, тоесть поставьте

{if segment_3 != ""

короче код будет

<title>
    
{exp:weblog:entries weblog="default_site" limit="1"
    
disable="trackbacks|pagination|member_data|custom_fields" rdf="off"}
    {weblog} {if segment_3 
!= ""}{exp:weblog:categories backspace="2"}{category_name}{/exp:weblog:categories} {title}{/if}
    {
/exp:weblog:entries}

</title
 Подпись 

ExpressionEngine - SEO-ориентированный движок

Профиль
 
 
Отправлено: 28 Январь 2008 09:35 P.M.   [ Игнорировать ]   [ # 9 ]
Member
RankRankRank
Всего сообщений:  158
Зарегистрирован  2008-01-21

После тестирования и сокращения кода получилось следующее.
В темплейт site/comments вставляем:

<title>
{exp:weblog:entries}{weblog} >> {categories backspace="1"}{category_name}{/categories} >> {title}{/exp:weblog:entries}
</title

Если имя блога bestann, категория Телефония, заголовок сообщения NEC NEAX 2000 IPS: полезные ресурсы, то в верхней строке браузера получим:

bestann >> Телефония >> NEC NEAX 2000 IPS: полезные ресурсы

Если же наше сообщение принадлежит двум категориям, например Телефония и Интернет, то получим:

bestann >> Интернет, Телефония >> NEC NEAX 2000 IPS: полезные ресурсы

При желании можно включать в загоолвок и имя сайта, или имя сайта вместо имени блога. Т.к. {site_name} - глобальная переменная, то ее не нужно включать в другие. Т.е. можно так сделать:

<title>{site_name} >> 
{exp:weblog:entries}{categories backspace="1"}{category_name}{/categories} >> {title}{/exp:weblog:entries}
</title

ЗЫ. Спасибо mrtt за участие в решении вопроса wink

Профиль
 
 
Отправлено: 28 Январь 2008 09:45 P.M.   [ Игнорировать ]   [ # 10 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  1423
Зарегистрирован  2007-12-27

умничка

 Подпись 

ExpressionEngine - SEO-ориентированный движок

Профиль
 
 
Отправлено: 28 Январь 2008 10:04 P.M.   [ Игнорировать ]   [ # 11 ]
Member
RankRankRank
Всего сообщений:  158
Зарегистрирован  2008-01-21

Спасибо. Еще забыла.
Чтобы на индексной странице не показывались >>, надо перенести эти знаки внутрь заголовка категории:

<title>{site_name} >> {exp:weblog:category_heading weblog="{my_weblog}"}{category_name}{/exp:weblog:category_heading}</title

вот так

<title>{site_name}{exp:weblog:category_heading weblog="{my_weblog}">> {category_name}{/exp:weblog:category_heading}</title
Профиль