Последние отзывы по проектам на главной

Автор Сообщение

lanry

Андрей
#1/30.10.2014 16:33
0

Пользователи

Карма: +3

На главной нужно вывести последние отзывы по проектам. Для этого сделал такой хак:

plugins\reviews\reviews.index.list.php 

<?php

/**
 * [BEGIN_COT_EXT]
 * Hooks=index.tags
 * [END_COT_EXT]
 */
/**
 * Reviews plugin
 *
 * @package reviews
 * @version 2.0.0
 * @author CMSWorks Team
 * @copyright Copyright (c) CMSWorks.ru, littledev.ru
 * @license BSD
 */
defined('COT_CODE') or die('Wrong URL.');

$reviews_index_list = $db->query("SELECT item_text FROM $db_reviews")->fetchColumn();

$t->assign(array(
	"REVIEWS_INDEX_LIST" => $reviews_index_list
));

$t1 = new XTemplate(cot_tplfile('reviews.list', 'plug'));
 
$t1->assign(array(
      "REVIEWS_INDEX_LIST" => $reviews_index_list
));
 
$t1->parse('MAIN');
 
$t->assign('REVIEWS_INDEX_LIST', $t1->text('MAIN'));
?>

plugins\reviews\tpl\reviews.list.tpl

<!-- BEGIN: MAIN -->
{REVIEWS_INDEX_LIST}
<!-- END: MAIN -->

В index.tpl добавил тег {REVIEWS_INDEX_LIST} Теперь на главной выводится 1 отзыв. 

Подскажите как всё это дело добавить в цикл?

Сообщения: 36

yarabotane

Victor
#2/09.05.2015 13:20
0

Пользователи

Карма: +93

Подскажите код для вывода последних всех отзывов на главной.

Код вывода в user.tpl последних отзывов о юзере

Сообщения: 336

CrazyFreeMan

Ярослав
#3/09.05.2015 17:44
0

Модераторы

Карма: +317

1. Писать хук/плагин нужно, выбирать нужное кол-во отзывов, если нужно то подключаем свой шаблон и в цикле парсим полученые данные и отдаем под хук index.tags

2. Нужно повесить обработчик на хук users.loop  который по ИД юзера будет подтягивать отзывы пользователя

Сообщения: 1248

yarabotane

Victor
#4/28.05.2016 15:15
0

Пользователи

Карма: +93

Немного изменил код в шапке,

t1 = new XTemplate(cot_tplfile('reviews.list', 'plug'));;
$reviews_totalitems = $db->query("SELECT COUNT(*) FROM $db_reviews WHERE 1 ORDER BY item_id DESC")->fetchColumn();
$sql = $db->query("SELECT * FROM $db_reviews WHERE 1
    ORDER BY item_id DESC
    LIMIT $d, ".$cfg['plugin']['reviews']['maxreviewspage']);
	//в reviews.setup.php добавил maxreviewspage=01:string::10:Количество записей на страницу(обновил)
while($item = $sql->fetch()){ 
    $t1->assign(array(
        'ITEM_ROW_USERID' => $item['item_userid'],
        'ITEM_ROW_TOUSERID' => $item['item_touserid'],
        'ITEM_ROW_TEXT' => $item['item_text'],
        'ITEM_ROW_SHORE' => $item['item_score'],
		'ITEM_ROW_PRJNNAME' => $item['item_code'],
    ));
     $t1->parse('MAIN.ITEM_ROW');
}	
$t1->parse('MAIN');//считываем теги в нашем шаблоне
$t->assign('INDEX_REW_TAG', $t1->text('MAIN'));

 

 

в шаблон

<!-- BEGIN: MAIN -->

<table class="table table-pills cells">
<!-- BEGIN: ITEM_ROW -->
<tr>
    <td>{ITEM_ROW_USERID}</td>
    <td>{ITEM_ROW_TOUSERID}</td>
    <td>{ITEM_ROW_TEXT}</td>
    <td>{ITEM_ROW_SHORE}</td>
	<td>{ITEM_ROW_PRJNNAME}</td>
</tr>
<!-- END: ITEM_ROW -->
</table>

 
<!-- END: MAIN -->

Все бы хорошо но теперь нужно уточнить название отзыва за какой проект ($item['item_code']), и аватар ($item['item_touserid'],) вот здусь немного притормозил.

Добавлено 38 минут спустя:

Пока что сделал ссылку на профиль юзера о котором отзыв 'USERS_PROFILE_DETAILSLINK' => cot_rc_link(cot_url('users', 'm=details&id='.$item['item_touserid']), $L['pro_title']),

Добавлено 2 часа спустя:

  упд немного поменял теги код отличается, в цыкл вставляю

if($item['item_area'] == 'projects' && !empty($item['item_code']))//здесь я так понимаю проверка включена ли опция отзывов по проектах
			{
				require_once cot_incfile('projects', 'module');//подключаем к модуль
				global $db_projects;
				
				$prj = $db->query("SELECT * FROM $db_projects WHERE item_id=".$item['item_code'])->fetch();//подключаемся к базе данных и по $item['item_code'] получаем нужный проект

				$t1->assign(cot_generate_projecttags($prj, 'REVIEWS_ROW_PRJ_'));//генерируются теги, увы здесь не все ясно
			}

в шаблоне  вывел ссылку на  проект по которому сделан отзыв <td><a href="{REVIEWS_ROW_PRJ_URL}">{REVIEWS_ROW_PRJ_SHORTTITLE}</a></td>

Добавлено 41 минута спустя:

таким самым способом  вывел аватар и ссылку на профиль юзера про которого оизыв, вот теперь собрать все аккуратно и отзывы на главной готовы.

пс и потом еще раз осмыслить что к чему

Архив с плагином

Сообщения: 336

Тема заблокирована, новые сообщения запрещены