Как вывести похожие посты? Есть решение
Добрый день
Вывожу похожие посты таким кодом:
{$posts = $wa->blog->posts(1,3)} {foreach $posts as $post} <div class="pohogie"> <h3> <a href="{$post.link}" itemprop="url">{$post.title|unescape|truncate:40}</a> </h3> <div class="credentials"> {if isset($post.user.photo_url_20)} {if $post.user.posts_link} <a href="{$post.user.posts_link}"> <img src="{$post.user.photo_url_20}" class="userpic" alt=""> </a> {else} <img src="{$post.user.photo_url_20}" class="userpic" alt=""> {/if} {/if} {if $post.user.posts_link} <a href="{$post.user.posts_link}" class="username">{$post.user.name}</a> {else } <span class="username">{$post.user.name}</span> {/if} <span class="hint date">{$post.datetime|wa_datetime:"humandate"}</span> {if $show_comments && $post.comments_allowed} {if !empty($post.comment_count)} <a href="{$post.link}#comments" class="small"> {_w('%d comment','%d comments',$post.comment_count)} </a> {else} {* <a href="{$post.link}#comments" class="hint"> [`no comments`] </a> *} {/if} {/if} </div> <a href="{$post.link}"> {* @event prepare_posts_frontend.%plugin_id%.post_title *} {if !empty($post.plugins.post_title)} {foreach $post.plugins.post_title as $plugin => $output}{$output}{/foreach} {/if} </a> {$post.text|regex_replace:"/(<img.*?>)/":""|unescape|truncate:150} <a href="{$post.link}">Читать далее...</a> </div> {/foreach}
нужно его доработать:
1. Вывод похожих постов по id блога (когда человек читает блог по ремонту то и похожие выводить по этой теме)
2. удалить активный пост из общего списка
Может есть другое решение данной задачи?
Спасибо
11 ответов
?
Как в данном коде ограничить вывод записей до трех?
Неясно как определить "похожие" посты.
Выводите на странице со статьей?
Есть к примеру 3 блога (экономика, публикации, бизнес) нужно что бы похожие были именно из того же блога что и сама статья
Вышеприведенном коде выбирается 3 записи из блога id=1. Это на странице просмотра записи происходит?
Да, но он показывает во всех блогах одинаковые записи.
http://unia.com.ua
Супер! Спасибо. То что надо!
Сделал как Вы сказали:
Проверьте пожалуйста правильный ли код?
В идеале бы конечно исключать из похожих ту запись на которой находится юзер.
Спасибо
Похоже на правду
А выберем на 1 пост больше (про запас — вдруг в списке есть основной пост) и добавим условие, чтоб выводились только 3 поста и только те, у которых id не совпадает с текущим :)
Да, работает!
Спасибо большое за помощь :)
Вот это не очень хорошо. Работать будет, но может запутать.
На странице с записью уже есть переменная $post.
Сделайте что-нибудь такое
и внутри цикла используйте не $post, а $similar_post