Многие, наверное, заметили, что в модуле последних объявлений выводится только заголовок и страна с датой. А как быть, если мы хотим, чтобы в модуле также выводился и текст объявления?
В файле mod_latestboard.tpl имем следующий код:
В нем есть смарти разметка:
{$item.title} — Заголовок объявления
{$item.pubdate} — Дата публикации
{$item.city} — Город
В стандартном шаблоне не выводится тект объявления. Для того, чтоб это поправить вживим уже имеющийся смарти тег:
{$item.content} — Переменная содержит полный текст объявления.
Все бы хорошо, да не очень, если учесть, что объявления могут быть очень большими по длине текста, поэтому его нужно обрезать. Конечно, для этого потребуется организация функции обрезки текста. И в смати она имеется!
{$item.content|truncate:х}, где х — любое целое число, если не вводить параметр {$item.content|truncate}, то за х будет принято 80 символов.
Измененный модуль может выглядеть так:
DIV лучше оформить под свой шаблон, в truncate указать свой параметр длинны строки в символах.
Данная запись не является чем-то сверхординарным и предназначена тем, кто плохо разбирается как в двиге, так и в кодинге.
В файле mod_latestboard.tpl имем следующий код:
{if $is_items} <ul class="new_board_items"> <li {if $item.is_vip}class="vip"{/if}> <a href="/board/read{$item.id}.html">{$item.title}</a> — {$item.pubdate} {if $cfg.showcity}- <span class="board_city">{$item.city}</span>{/if} </li> {/foreach} </ul> {else} <p>{$LANG.LATESTBOARD_NOT_ADV}</p> {/if}
{$item.title} — Заголовок объявления
{$item.pubdate} — Дата публикации
{$item.city} — Город
В стандартном шаблоне не выводится тект объявления. Для того, чтоб это поправить вживим уже имеющийся смарти тег:
{$item.content} — Переменная содержит полный текст объявления.
Все бы хорошо, да не очень, если учесть, что объявления могут быть очень большими по длине текста, поэтому его нужно обрезать. Конечно, для этого потребуется организация функции обрезки текста. И в смати она имеется!
{$item.content|truncate:х}, где х — любое целое число, если не вводить параметр {$item.content|truncate}, то за х будет принято 80 символов.
Измененный модуль может выглядеть так:
{if $is_items} <ul class="new_board_items"> <li {if $item.is_vip}class="vip"{/if}> <a href="/board/read{$item.id}.html">{$item.title}</a> — {$item.pubdate} <div>{$item.content|truncate}</div>{if $cfg.showcity}- <span class="board_city">{$item.city}</span>{/if} </li> {/foreach} </ul> {else} <p>{$LANG.LATESTBOARD_NOT_ADV}</p> {/if}
Данная запись не является чем-то сверхординарным и предназначена тем, кто плохо разбирается как в двиге, так и в кодинге.
Зачем превью, когда и так ясно?
Спасибо, на досуге подумаю о удобной для себя реализации данного хака.
Где бы почитать о всех функциях, реализованных в двиге на уровне тегов смарти?