Textpattern - на русском языке

форум общения русскоязычных пользователей CMS Текстпаттерн

Вы не зашли.

#1 22-12-2008 03:25:15

the_ghost
ять
Откуда: Минск
Зарегистрирован: 01-05-2007
Сообщений: 1957
Вебсайт

Вывод соседних статей с учетом категории текущей статьи

Задача.
Выводить не просто соседние статьи, а выводить с учетом того, какая категория у этой статьи. Кроме того, навигация будет выводится только если в данной категории опубликовано 3 и более статей.

Что нам нужно?
- Текстпаттерн версии 4.0.7+
- плагин smd_if - http://stefdawson.com/downloads/smd_if_v0.75.txt
- плагин jmd_count - http://jmdeldin.com/txp/jmd_count.php

Как сделать?
1. Содайте форму tuda_suda (название можете изменить, конечно же:) )

Код:

<txp:jmd_if_count eval=">3" table="textpattern" where='category1="<txp:category1 />"'>
<txp:smd_if field="category1" operator="isused"><txp:variable name="prev_id" value=""/><txp:variable name="next_id" value=""/>

<txp:variable name="list" value='
<txp:article_custom sort="posted desc" limit="999" category="{smd_if_category1}"><txp:article_id /> </txp:article_custom />
' /> 

<txp:php>
$array=variable(array('name' =>'list'));
$array=explode(" ",trim($array));
$value=$GLOBALS['thisarticle']['thisid'];

$current_key=array_search($value, $array);
$current_key==0                 ? $prev_key=count($array)-1 : $prev_key=$current_key-1; // if cur_key is first => prev_id is last  item
$current_key==(count($array)-1) ? $next_key=0               : $next_key=$current_key+1; // if cur_key is last  => next_id is first item

variable(array('name' =>'prev_id', 'value' => $array[$prev_key]));
variable(array('name' =>'next_id', 'value' => $array[$next_key]));

//echo "${array[$prev_key]} +${array[$current_key]}+ ${array[$next_key]}";
</txp:php>

Предыдущая статья: <txp:article_custom id='<txp:variable name="prev_id"/>'><txp:permlink><txp:title /></txp:permlink></txp:article_custom /><br />
Следующая статья: <txp:article_custom id='<txp:variable name="next_id"/>'><txp:permlink><txp:title /></txp:permlink></txp:article_custom />

</txp:smd_if>
</txp:jmd_if_count>

2. В любом месте на странице вызовите созданную форму

Код:

<txp:if_individual_article>
<txp:output_form form="tuda_suda" />
</txp:if_individual_article>

3. Вывод след.\пред. статьи редактируется в конце формы tuda_suda - вы там видете два вызова <txp:article_custom />. В них можете использовать любые теги из статей.

Данный пример будет работать только в textpattern версии 4.0.7 и выше smile


.      Создание шаблонов для Textpatern http://textpattern.ru/forum/viewtopic.php?id=1665 (<txp:make_template quality="best" />)
КОНСУЛЬТАЦИИ по Textpattern - ICQ#8458496, nemiga@gmail.com <txp:if_question><txp:pay /></txp:if_question>
       Список всех тегов - http://textbook.textpattern.net/wiki/in … _Reference

Неактивен

 

#2 31-03-2009 01:07:39

the_ghost
ять
Откуда: Минск
Зарегистрирован: 01-05-2007
Сообщений: 1957
Вебсайт

Re: Вывод соседних статей с учетом категории текущей статьи

Немного обновил форму.. Интересуют впечатления форумчан - кто-нибудь использвал?


.      Создание шаблонов для Textpatern http://textpattern.ru/forum/viewtopic.php?id=1665 (<txp:make_template quality="best" />)
КОНСУЛЬТАЦИИ по Textpattern - ICQ#8458496, nemiga@gmail.com <txp:if_question><txp:pay /></txp:if_question>
       Список всех тегов - http://textbook.textpattern.net/wiki/in … _Reference

Неактивен

 

#3 09-04-2009 11:57:07

reeno
глаголь
Зарегистрирован: 29-04-2008
Сообщений: 30

Re: Вывод соседних статей с учетом категории текущей статьи

the_ghost написал:

кто-нибудь использвал?

нет еще, но как раз то что искал

Неактивен

 

Board footer

RSS   Rambler's Top100
Powered by PunBB
Textpattern.ru