Искать  
 
   
 
Как показывать sticky посты только в своих категориях?
Отправлено: 20 Январь 2009 01:56 P.M.   [ Игнорировать ]
Member
RankRankRank
Всего сообщений:  158
Зарегистрирован  2008-01-21

Например, есть разные категории в блоге.
Я хочу сделать “прилепленные” сообщения в категориях Hard&Soft;, Avaya, например:
Hard&Soft;: вверху постоянно висит пост “Программы, используемые на работе и дома”
Avaya: два прилепленных поста “Словарь терминов, аббревиатур и акронимов Avaya” и “Форумы и Документация по Avaya”
И мне не нужно на заглавной странице показывать эти посты, потому что они не интересны не техническим специалистам по данному оборудованию.
Т.е. я хочу, чтобы посты с галочкой sticky были прилеплены не на индексной странице, а в страницах категорий, которым принадлежит сообщение.
Но при этом у меня шаблон один и тот же для индексной страницы и страниц категорий.

Профиль
 
 
Отправлено: 20 Январь 2009 02:34 P.M.   [ Игнорировать ]   [ # 1 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

наверно как-то так:

{if segment_2 != ''}
{exp
:weblog:entries  weblog="news"  orderby="date"  limit="15"}
{if
:else}
{exp
:weblog:entries  weblog="news"  orderby="date"  limit="15" sticky="off"}
{
/if} 
 Подпись 

booooring…

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

Пока не получается...
Notice: Undefined offset: 25 in адрес/pi.eexcerpt.php on line 80 Parse error: syntax error, unexpected T_ELSE in /home/адрес скрыт/core.functions.php(637) : eval()‘d code on line 73

Профиль
 
 
Отправлено: 20 Январь 2009 03:52 P.M.   [ Игнорировать ]   [ # 3 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

Таак... а можно тогда полный текст шаблона - хотя бы кусок где weblog и exp:eexcerpt

 Подпись 

booooring…

Профиль
 
 
Отправлено: 20 Январь 2009 04:09 P.M.   [ Игнорировать ]   [ # 4 ]
Member
RankRankRank
Всего сообщений:  158
Зарегистрирован  2008-01-21
<div id="bodyPan">

{if segment_2}
  {exp
:weblog:entries weblog="{my_weblog}" orderby="date" sort="desc" limit="15" disable="member_data|trackbacks"}
{if
:else}
   {exp
:weblog:entries weblog="{my_weblog}" orderby="date" sort="desc" limit="15" disable="member_data|trackbacks" sticky="off"}
{
/if}

<h1><a href="{comment_url_title_auto_path}" title="{title}">{title}</a></h1>
<
h5>{entry_date format=' %l, %d.%m.%Y @ %H:%i |'

Работает (можно посмотреть у меня на сайте), но только если в внутри условных конструкций просто символы, а не теги ЕЕ, например:

{if segment_2}
привет
{if
:else}
пока
{
/if} 
Профиль
 
 
Отправлено: 20 Январь 2009 04:24 P.M.   [ Игнорировать ]   [ # 5 ]
Member
RankRankRank
Всего сообщений:  158
Зарегистрирован  2008-01-21

Упростила, так работает:

{exp:weblog:entries weblog="{my_weblog}" orderby="date" sort="desc" limit="15" disable="member_data|trackbacks" {if segment_2==""}sticky="off"{/if}} 

Но показывает ошибку наверху страницы (видна только когда я залогинюсь):

NoticeUndefined offset25 in /home/адрес скрыт/plugins/pi.eexcerpt.php on line 80 

Не контачит с плагином, который ограничивает у меня на 1 странице количество символов в последних комментариях
Возможно эта тема поможет http://expressionengine.com/forums/viewthread/54919/P18/#491481

<h2>Последние комментарии</h2>
{exp:comment:entries sort="desc" orderby="date" limit="10" dynamic="off"}
<h5>{name} :: {comment_date format="%d.%m.%Y  "}<br />
Тема: <a href="{comment_url_title_auto_path}">{title}</a></h5>
{exp:eexcerpt if_exceeds="40" stop_after="25" the_link="<a href='{comment_url_title_auto_path}#comment{comment_id}'>[GO]</a>"}
<p>{comment}
{
/exp:eexcerpt}</p>
{/exp:comment:entries} 

Вот 80-я строка плагина

$str "";
                 
        for (
$i 0$i $stop_after 1$i++) 
        
{
            $str 
.= $word[$i]." ";  //строка 80
        
}
        
        $str 
.= "&#8230;"

А вот почему не работает вариант, который вы рекомендовали (нашла подобное на форуме ЕЕ):

Also, you can not break up weblog entries tags like that. You would need to encompass your entire weblog entries tag pair inside the conditional, then do your if:else on a second weblog entries tag pair.

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

Всё работает!
По совету с форума ЕЕ отредактировала плагин pi.eexcerpt.php:

$str preg_replace($searchcrap''$str); // строка 56
$str trim($str); // добавляем эту строку 

А что такое trim?

Профиль
 
 
Отправлено: 20 Январь 2009 06:07 P.M.   [ Игнорировать ]   [ # 7 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

trim - вырезает пробелы в начале и в конце строки smile

 Подпись 

booooring…

Профиль