Автообрезка длинных блогов. типа хак...

 
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 381
Привет Всем !

Решил поделится небольшим но наверное полезным хаком блогов .

Если пользователи создают блоги и случайно (или специально) забывают вставить Разделитель , в связи с чем страничка Последнее в блогах может стать оооччееньь большой ...
Тоже самое будет и при просмотре записей выбранного блога ..

Где то на форуме встречал решение , но там полностью убиралась возможность пользователю самостоятельно вставлять CUT и делалось автообрезание по кол-ву символов.

Я решил оставить пользователям обрезалку ,
а если они забыли - то пост автоматом обрежется и появится - Читать далее ...

Решение очень простое :

открываем components/blogs/Frontend.php

находим каждую строчку (их должно быть ~3) :

Код PHP:
  1. $msg = $model->getPostShort($msg, $post['url']);
и вставляем сразу после нее :

Код PHP:
  1. $post['cata'] = 1;
далее идем в templates -
com_blog_view_posts.tpl и в com_blog_view.tpl
находим там строчку :
Код PHP:
  1. <div class="blog_entry_text">{$post.msg}
и меняем ее на это :

Код PHP:
  1.  
  2. {if $post.cata}
  3. <div class="blog_entry_text">{$post.msg}
  4. {else}
  5. <div class="blog_entry_text">{$post.msg|truncate:380}
  6.  
  7.  
  8. <div class="blog_cut_link"><a href="{$post.url}">Читать далее......</a></div>
  9.  
  10. {/if}
  11.  
Ну а цифра - 380 это кол-во символов которое останется в анонсе , если пользователь забыл или не захотел сам разделить пост ..

Все . теперь у админа будет немного поменьше ручной работы )) .. smoke

ps Не забудьте сделать резерв перед изменениями!
Редактировалось: 1 раз (Последний: 18 марта 2012 в 06:24)
Посетитель
small user social cms
МедальПочетный донор проектаАвторитет форумаКубок зрительских симпатий
Сообщений: 2470
А может лучше добавить в этот текст - и оставить в анонсе не менее 500 символов
или добавить в код проверку флага который если уже нажали то равен 1 а если нет то вставляем автоматом
Раньше РАЙ был везде - РАЙсовет, РАЙком, РАЙсобес...., а сейчас везде АДминистрации!
Не надо давать людям советы. Каждый должен лохануться самостоятельно!
Любишь в продакшн, люби и баги починить!
Реклама
cms
Посетитель
small user social cms
МедальПочетный донор проектаАвторитет форумаКубок зрительских симпатий
Сообщений: 2470
SVD:
Зачем лишний гемор если режет автомат...
Вы же написали сами - зачем, чтобы дублежа небыло
Раньше РАЙ был везде - РАЙсовет, РАЙком, РАЙсобес...., а сейчас везде АДминистрации!
Не надо давать людям советы. Каждый должен лохануться самостоятельно!
Любишь в продакшн, люби и баги починить!
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 381
eoleg:
или добавить в код проверку флага который если уже нажали то равен 1 а если нет то вставляем автоматом
так вот же оно :
KS:
{if $post.cata}

т.е. если запись не берется через $model->getPostShort
то соответственно и $post.cata будет = false
и автообреза не будет.

А если в записи нет ручного обреза то $post.cata будет = 1 и сработает truncate


Все хорошо работает , вот только есть и минусы ...
Визуально все ок, а вот в коде бывают не закрытые теги ..
Редко конечно, но все же ..
Еще не разбирался . Если честно лень )), и так устраивает ))
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.