Мне не очень нравился вывод в модуле Новое в блогах (mod_latestblogs) только названия записи, количества комментариев, автора и названия блога, поэтому я решил дополнить его частичным выводом теста самой записи (240 символов, но Вы можете больше или меньше, "по вкусу").
Получится примерно следующее:
Для реализации хака потребовалось определение переменной смарти в самом скрипте модуля:
modules/mod_latestblogs/module.php
Находим строки подсоединения к базе данных:
Добавляем после Следующее: то есть в базе данных в таблице cms_blog_posts находим колонку content и берем оттуда данные
Далее, находим строку
и после нее вставляем:
В данном случае функцией strip_tags мы удалили из записи блога все данные форматирования, а функцией strlen определили ее длинну, и если она больше 240 символов, то берем из записи первые 240 символов функцией substr, где $con['content'] — нужная нам строка, 0- первый символ в строке, 240 — последний.
Смарти переменная готова. она будет иметь вид {$posts.content}, которая была унаследована этим — $posts[] = $con; (произошла передача массива)
В файле /templates/ШАБЛОН/modules/mod_latestblogs.tpl вставляем нашу переменную смарти в нужное место, в нашем случае после заголовка. Находим:
После него сразу вставляем:
Хак готов.
Многие спросят для чего была такая детализация?
Отвечу: многие понятия не имеют, что они делают в хаке, данным постом я хоть немного просвещу людей. Понимание того, что делаешь уменьшает вероятность ошибки.
Получится примерно следующее:
Для реализации хака потребовалось определение переменной смарти в самом скрипте модуля:
modules/mod_latestblogs/module.php
Находим строки подсоединения к базе данных:
$sql = "SELECT p.title as title, p.id as id, p.seolink as seolink, b.title as blog, b.owner as owner, b.id as blog_id, b.seolink as bloglink, p.pubdate as fpubdate, b.user_id as uid, IFNULL(r.total_rating, 0) as rating, b.ownertype as ownertype, u.id as author_id, u.nickname as author, up.imageurl as author_image, u.is_deleted as author_deleted FROM cms_blog_posts p LEFT JOIN cms_blogs b ON b.id = p.blog_id LEFT JOIN cms_users u ON u.id = p.user_id LEFT JOIN cms_user_profiles up ON up.user_id = p.user_id LEFT JOIN cms_ratings_total r ON r.item_id=p.id AND r.target='blogpost' WHERE p.published = 1 AND b.allow_who = 'all' ORDER BY p.id DESC LIMIT 30";
p.title as title
p.content as content,
Далее, находим строку
$con['image'] = usrImageNOdb($con['author_id'], 'small', $con['author_image'], $con['author_deleted']);
Смарти переменная готова. она будет иметь вид {$posts.content}, которая была унаследована этим — $posts[] = $con; (произошла передача массива)
В файле /templates/ШАБЛОН/modules/mod_latestblogs.tpl вставляем нашу переменную смарти в нужное место, в нашем случае после заголовка. Находим:
<a class="mod_latest_blog_title" href="{$post.href}">{$post.title}</a>
<div >{$post.content}</div>
Многие спросят для чего была такая детализация?
Отвечу: многие понятия не имеют, что они делают в хаке, данным постом я хоть немного просвещу людей. Понимание того, что делаешь уменьшает вероятность ошибки.
Реклама #
Def 12 лет назад #
Telema93 12 лет назад #
picaboo 12 лет назад #
{$post.content|truncate:240} - просто по ощущению что легче будет управлять выводом.
Telema93 12 лет назад #
picaboo 12 лет назад #
Денис Васильевич 12 лет назад #
deltas 12 лет назад #
Telema93 12 лет назад #
deltas 12 лет назад #
maia 12 лет назад #
maia 12 лет назад #
Нельзя ль как то вырезать то, что находится до текста?
maia 12 лет назад #
maia 12 лет назад #
Telema93 12 лет назад #
maia 12 лет назад #
maia 12 лет назад #
Def 12 лет назад #
Денис Васильевич 12 лет назад #
maia 12 лет назад #
Денис Васильевич 12 лет назад #
p.content_html as content
добавляете строчку в файле шаблона mod_latestblogs.tpl
{$post.content|strip_tags|truncate:330:"...":true}
Def 12 лет назад #
densvi 12 лет назад #
1) Присоединяюсь к maia. Остаются и видны теги типа
densvi 12 лет назад #