А вот решил писать в блог даже небольшие, но полезные заметки, которые не помещаются в twitter и могут пригодится мне самому в будущем.
И так, дорабатывая и шлифуя сайт iPadis.ru про новости iPad, с которым я участвую в конкурсе, мне понадобилось сделать ограничение на количество символов в блоке "Обзоры игр и приложений для iPad". Этот блок выводится тегом custom, который отвечает за выборку публикаций из любых категорий. Пример тега, используемого на iPadis.ru:
{custom category="3,5,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29" template="anonce" aviable="global" from="0" limit="5" cache="yes"}
В теге custom можно настроить:
category - ID категорий из которых будут показываться публикации (через запятую);
template - шаблон для вывода одной публикации (без расширения .tpl);
aviable - раздел в котором будет работать тег (global - выводить везде);
from - от какой записи начинать выборку;
limit - количество выводимых публикаций;
cache - возможность кешировать блок (yes or no).
С тегом custom и его возможностями разобрались. Теперь собственно о сабже. Для того, что бы обрезать количество символов в описании выводимой публикации ({short-story}), откроем файл /engine/modules/show.custom.php, найдём код (примерно 341 строка):
$tpl->set( '{short-story}', stripslashes( $row['short_story'] ) );
и заменим наif( dle_strlen( stripslashes( $row['short_story'] ), $config['charset'] ) > 145 ) $shortstory = dle_substr( stripslashes( $row['short_story'] ), 0, 145, $config['charset'] ) . "... <a href=\"" . $full_link . "\">»</a>";
else $shortstory = stripslashes( $row['short_story'] );
$tpl->set( '{short-story}', $shortstory );
, где 145 (в двух местах) - максимальное количество символов описания.Аналогичным образом можно выставить ограничение на кол-во символов в заголовке публикации. В том же файл, найдём (примерно 312 строка):
$tpl->set( '{title}', stripslashes( $row['title'] ) );
и заменим наif( dle_strlen( stripslashes( $row['title'] ), $config['charset'] ) > 30 ) $title = dle_substr( stripslashes( $row['title'] ), 0, 30, $config['charset'] ) . "...";
else $title = stripslashes( $row['title'] );
$tpl->set( '{title}', $title );
, где 30 (в двух местах) - максимальное количество символов в заголовке.На этом всё :fellow: Я уверен, этот небольшой хак кому-нибудь, да пригодится. Удачи!
Что бы ничего не пропустить, я рекомендую подписаться на блог по RSS, либо по E-Mail.
А так же советую следовать за мной в микроблоге на Twitter и добавить меня ВКонтакте.
А так же советую следовать за мной в микроблоге на Twitter и добавить меня ВКонтакте.