July 4, 201114 yr Очень понравилась реализация вывода блока блогов на главной. Хотелось бы себе сделать так же.. Но для меня такая задача не посильна. Может кто-то видел такой хук? Хотелось бы себе так сделать. Версия форума IPB 3.1.4
July 4, 201114 yr Это стандартный хук блога, по умолчанию он выключен, его нужно включить. Чтобы получить такой вид, нужно его модифицировать не много.У меня получилось так:
July 4, 201114 yr Author Ну стандартный хук включается справа от форума. Другой хук с блогом включает "особые записи" из блогов. А вот что бы вот так, такого хука нет =(Ка он называется? Или надо брать хук которые включатся в справа в колонке, и его модифицировать?
July 4, 201114 yr Хук называется Recent Blog Entries, он отображается в правом сайдбаре, например как на этом форуме и его нужно модифицировать.
July 4, 201114 yr Засунул всё это дело в хук:hook.xml Установка:1) Удалить старый Recent Blog Entries2) Импортировать новый3) Сделать изменения в файле admin/applications_addon/ips/blog/sources/classes/hooks/gateway.php Найти: $this->DB->build( array('select' => 'e.entry_id, e.entry_last_update, e.entry_name, e.blog_id, e.entry_name_seo, e.entry_author_id, e.entry_date', 'from' => array('blog_entries' => 'e' ), 'where' => $_where, 'order' => 'e.entry_date DESC', 'limit' => array( 0, 5 ), 'add_join' => array( array( 'select' => 'b.blog_name, b.blog_seo_name', 'from' => array( 'blog_blogs' => 'b' ), 'where' => 'b.blog_id=e.blog_id', 'type' => 'left' ) ) ) ); Заменить на: $this->DB->build( array('select' => 'e.entry_id, e.entry_last_update, e.entry_name, e.blog_id, e.entry_name_seo, e.entry_author_id, e.entry_date', 'from' => array('blog_entries' => 'e' ), 'where' => $_where, 'order' => 'e.entry_date DESC', 'limit' => array( 0, 12 ), 'add_join' => array( array( 'select' => 'b.blog_name, b.blog_seo_name', 'from' => array( 'blog_blogs' => 'b' ), 'where' => 'b.blog_id=e.blog_id', 'type' => 'left' ) ) ) ); По хорошему бы, перенести функцию из gateway.php в файл хука, но опыта пока не достаточно.
July 4, 201114 yr Author немного путь до файла неверныйвот правильный admin/applications_addon/ips/blog/sources/classes/hooks/gateway.phpда, сделал, получилось, но вот как сделать в три столбца?Получается у меня в один столбец все 12 записей из блогов. Edited July 4, 201114 yr by mylipetsk
July 4, 201114 yr Пардон, в файле gateway.php указан другой шаблон, не hookRecentBlogEntries, а recentEntries. По этому нужно заменить. Ваш шаблон > Шаблоны > blog_portal ((Блог) Дополнение портала) > recentEntries Весь шаблон: <div class='general_box clearfix'> {parse striping="recententries" classes="row1,row2"} <h3><img src='{$this->settings['img_url']}/comment_new.png' alt='' /> <if test="isset($this->lang->words['recently_added_entries'])">{$this->lang->words['recently_added_entries']}<else />{$this->lang->words['latest_entries_title']}</if></h3> <ul class='hfeed block_list' style='padding:0px'> <if test="is_array( $entries )"> <foreach loop="$entries as $eid => $entry"> <li class='{parse striping="recententries"}' style='clear:both'> <img src='{$entry['pp_mini_photo']}' width='{$entry['pp_mini_width']}' height='{$entry['pp_mini_height']}' alt='' class='photo' style='float:left' /> <div class='nexttophoto' style='padding:2px 6px 2px 6px; margin-left: 40px;'> <if test="newcomment:|:$entry['newpost']"> <a href="{parse url="app=blog&module=display§ion=blog&blogid={$entry['blog_id']}&showentry={$entry['entry_id']}&show=newcomment" template="showentry" seotitle="{$entry['entry_name_seo']}" base="public"}">{parse replacement="f_newpost"}</a> </if> <a href="{parse url="app=blog&module=display§ion=blog&blogid={$entry['blog_id']}&showentry={$entry['entry_id']}" template="showentry" seotitle="{$entry['entry_name_seo']}" base="public"}">{$entry['entry_name']}</a> <p class='desc'><a href='{parse url="app=blog&module=display§ion=blog&blogid={$entry['blog_id']}" template="showblog" seotitle="{$entry['blog_seo_name']}" base="public"}'><strong>{$entry['blog_name']}</strong></a> {parse date="$entry['entry_date']" format="short"}</p> </div> </li> </foreach> </if> </ul> </div> Заменить на: <h3 class='maintitle'><img src='{$this->settings['img_url']}/comment_new.png' alt='' /> <if test="isset($this->lang->words['recently_added_entries'])">{$this->lang->words['recently_added_entries']}<else />{$this->lang->words['latest_entries_title']}</if></h3> <div class='general_box clearfix'> <if test="is_array( $entries )"> <foreach loop="$entries as $eid => $entry"> <div class='' style='display: block; float: left; width: 23%; margin: 5px;'> <img src='{$entry['pp_mini_photo']}' width='{$entry['pp_mini_width']}' height='{$entry['pp_mini_height']}' alt='' class='photo' style='float:left' /> <div class='nexttophoto' style='padding:2px 6px 2px 6px; margin-left: 40px;'> <if test="newcomment:|:$entry['newpost']"> <a href="{parse url="app=blog&module=display§ion=blog&blogid={$entry['blog_id']}&showentry={$entry['entry_id']}&show=newcomment" template="showentry" seotitle="{$entry['entry_name_seo']}" base="public"}">{parse replacement="f_newpost"}</a> </if> <a href="{parse url="app=blog&module=display§ion=blog&blogid={$entry['blog_id']}&showentry={$entry['entry_id']}" template="showentry" seotitle="{$entry['entry_name_seo']}" base="public"}">{$entry['entry_name']}</a> <p class='desc'><a href='{parse url="app=blog&module=display§ion=blog&blogid={$entry['blog_id']}" template="showblog" seotitle="{$entry['blog_seo_name']}" base="public"}'><strong>{$entry['blog_name']}</strong></a> {parse date="$entry['entry_date']" format="short"}</p> </div> </div> </foreach> </if> </div> Пардон, из меня создатель хуков фиговый.
July 4, 201114 yr Author Да вроде у вас нормально получается создавать хуки. Спросить еще вопросик, а как бы мне сделать горизонтальные полосочки разделяющие записи из блогов. ну как на картинке.
July 4, 201114 yr Тут бы по-хорошему с помощью таблицы сделать, но я не знаю как сделать чтобы на одном уровне только 4 ячейки, а 5 переносилась на второй уровень. {parse striping="recententries" classes="row1,row2"} <h3 class='maintitle'><img src='{$this->settings['img_url']}/comment_new.png' alt='' /> <if test="isset($this->lang->words['recently_added_entries'])">{$this->lang->words['recently_added_entries']}<else />{$this->lang->words['latest_entries_title']}</if></h3> <table summary="" class='ipb_table'> <tbody> <tr> <if test="is_array( $entries )"> <foreach loop="$entries as $eid => $entry"> <td class="{parse striping="recententries"}" style="width: 25%;"> <img src='{$entry['pp_mini_photo']}' width='{$entry['pp_mini_width']}' height='{$entry['pp_mini_height']}' alt='' class='photo' style='float:left' /> <div class='nexttophoto' style='padding:2px 6px 2px 6px; margin-left: 40px;'> <if test="newcomment:|:$entry['newpost']"> <a href="{parse url="app=blog&module=display§ion=blog&blogid={$entry['blog_id']}&showentry={$entry['entry_id']}&show=newcomment" template="showentry" seotitle="{$entry['entry_name_seo']}" base="public"}">{parse replacement="f_newpost"}</a> </if> <a href="{parse url="app=blog&module=display§ion=blog&blogid={$entry['blog_id']}&showentry={$entry['entry_id']}" template="showentry" seotitle="{$entry['entry_name_seo']}" base="public"}">{$entry['entry_name']}</a> <p class='desc'><a href='{parse url="app=blog&module=display§ion=blog&blogid={$entry['blog_id']}" template="showblog" seotitle="{$entry['blog_seo_name']}" base="public"}'><strong>{$entry['blog_name']}</strong></a> {parse date="$entry['entry_date']" format="short"}</p> </div> </td> </foreach> </if> </tr> </tbody> </table>
July 5, 201114 yr Author ну а может жестко сделать, 4 ячейки ине более и не менее. И тогда можно будет провести горизонтальные полоски, да?
July 5, 201114 yr Вы хотите чтобы 4 записи только выводились? Ещё раз повторю, я просто не знаю как сверстать в данном случае на таблицах, чтобы выводились 4 ячейки, а 5 шла на другой уровень, я бы оставил вариант на блочной вёрстке, но придётся добавлять оформление (полоску как вы хотите), может другие кто знает, как сверстать на таблицах эту ситуацию, только молчат.)
Очень понравилась реализация вывода блока блогов на главной. Хотелось бы себе сделать так же.. Но для меня такая задача не посильна. Может кто-то видел такой хук? Хотелось бы себе так сделать. Версия форума IPB 3.1.4