ErsteVorherige12345NächsteLetzte
Build customized page list widgets
foxhound |
|
---|---|
Ok, thanks for confirming that Kort. Than I will have to adjust my idea a bit ;) Added 1 year later: Currently I am trying to add the ratings to the pagelist plugin. I am doing that cause I want to be able to sort pages in a nice list on its rating. <?php /* ==================== [BEGIN_COT_EXT] Hooks=pagelist.loop [END_COT_EXT] ==================== */ defined('COT_CODE') or die('Wrong URL'); global $cfg; if ($cfg['plugin']['pagelist']['ratings'] && cot_plugin_active('ratings')) { $rowe_urlp = empty($row['page_alias']) ? array('c' => $row['page_cat'], 'id' => $row['page_id']) : array('c' => $row['page_cat'], 'al' => $row['page_alias']); $t->assign(array( 'PAGE_ROW_RATINGS' => cot_ratings_display('page', $rowe_urlp, 'page', $row['page_id'], $c, $row), 'PAGE_ROW_RATINGS_AVARAGE' => cot_ratings_display('page', $row['page_id'], $row) )); } ?> I named it pagelist.ratings.loop.php. <?php /* ==================== [BEGIN_COT_EXT] Hooks=pagelist.query [END_COT_EXT] ==================== */ defined('COT_CODE') or die('Wrong URL'); global $cfg; if ($cfg['plugin']['pagelist']['ratings'] && cot_plugin_active('ratings')) { global $db_ratings; require_once cot_incfile('ratings', 'plug'); $cns_join_columns .= ", (SELECT COUNT(*) FROM `$db_ratings` WHERE rating_area = 'page' AND rating_code = p.page_id) AS rating_average"; } ?> I named this pagelist.ratings.query.php. <img src="http://www.armaholic.com/datas/thumbs/green-sea-battalion-uniforms-version-03-preview_4.jpg" alt="green-sea-battalion-uniforms-version-03-" />
|
|
Dieser Beitrag wurde von foxhound (am 8. Juni 2015, 12:54, vor 9 Jahre) bearbeitet |
Anonymous |
|
---|---|
$pagination - имя параметра паджинации (опционально, например pld – убедитесь в отсутствии конфликтов одинаковых имен!) Если ставлю FALSE или оставляю параметр пустым то паджинация работает не корректно. Перечень с номерами страниц не перелистываются при переходе на следующую страницу. На старой "сборке" такого нет. |
Kort |
|
---|---|
Как именно вызывается функция? Только что проверял: {PHP|pagelist('pagelist', 10, '', '', 'articles')} и {PHP|pagelist('pagelist', 10, '', '', 'articles', '', '', true, 'ppp')} И там и там паджинация работает, тестировал и с главной и с внутряков. В первом случае ссылки паджинации дефолтные http://site.by/?pld=5, во втором пользовательские: http://site.by/about?ppp=2 SED.by - создание сайтов, разработка плагинов и тем для Котонти
|
|
Dieser Beitrag wurde von Kort (am 27. Januar 2017, 13:24, vor 7 Jahre) bearbeitet |
Kopusha |
|
---|---|
Не будет работать {PHP|pagelist('pagelist','4','page_count DESC','page_rating > "0"', '', 'system;archives','news;events','TRUE', 'pld')} ??? |
Kort |
|
---|---|
Почему нет? Будет! Единственный момент: одновременно whitelist и blacklist не будут работать. Это бессмысленно )) SED.by - создание сайтов, разработка плагинов и тем для Котонти
|
Yusupov |
|
---|---|
Чет никак найти не могу, где у нас поле page_rating обновляется? И обновляется ли он вообще? |
Kort |
|
---|---|
Да, такого поля уже нет )) Плагин рейтингов пишет в собственные таблицы SED.by - создание сайтов, разработка плагинов и тем для Котонти
|
Kopusha |
|
---|---|
Не выводит {PHP|pagelist('pagelist','4','page_rating DESC','page_count > "0"', '', 'system;archives','','TRUE', 'pld')} как надо. С рейтингом ноль первая с рейтингом 6 вторая. При этом ничего не меняется в порядке {PHP|pagelist('pagelist','4','page_rating ASC')} {PHP|pagelist('pagelist','4','page_rating DESC')}
|
Kort |
|
---|---|
По аналогии с заголовками экстраполей: где-то что-то делаешь не так. Без доступа ничем не помогу. Проверь тип поля, посмотри в phpmyadmin что там, отсортируй в нем же. Чудес не бывает. SED.by - создание сайтов, разработка плагинов и тем для Котонти
|
Kopusha |
|
---|---|
Дима, правильно? Еще провожусь, интерсно самому понять где я олень. |
Yusupov |
|
---|---|
Не работает потому, что поле page_rating в таблице $db_pages у всех записей по нулям. Ибо значение рейтинга не считается и не записывается в это поле. Добавлено 5 минут спустя: По идее должен помочь такой хак через хук): Создать в плагине ratings файл: ratings.page.ratings.send.done.php <?php /* ==================== [BEGIN_COT_EXT] Hooks=ratings.send.done [END_COT_EXT] ==================== */ defined('COT_CODE') or die('Wrong URL'); if($area == 'page') { global $db_page; $db->update($db_page, array('page_rating' => $ratingnewaverage), "page_id=" . $code); }
|
|
Dieser Beitrag wurde von Yusupov (am 28. Februar 2017, 13:22, vor 7 Jahre) bearbeitet |
Kort |
|
---|---|
Поле ж вроде бы создано и заполнено. Как -- другой вопрос )) По решению: я бы вынес это в отдельный плагин с указанным хуком. SED.by - создание сайтов, разработка плагинов и тем для Котонти
|
|
Dieser Beitrag wurde von Kort (am 28. Februar 2017, 13:39, vor 7 Jahre) bearbeitet |
Kopusha |
|
---|---|
Зачем отдельно. Есть рейтинги, Есть желание отсортировать страницы По рейтингу, фактически прямое назначение модуля. Это не какие-то посторонние редко встречающиеся желания, Просто поправить и сделать новую версию. Added 41 minutes later: #42712 Yusupov: Пробую - дошел до такого - $db->update($db_pages, array('page_rating' => $ratings_average), "page_id=" . $code); Не помогло. А вот такое - вроде бы работает. $db->update($db_pages, array('page_rating' => $ratingnewaverage), "page_id=" . $code);
Почему "ratingnewaverage"??? Если переменная выше - ratings_average??? |
|
Dieser Beitrag wurde von Kopusha (am 28. Februar 2017, 14:29, vor 7 Jahre) bearbeitet |
Yusupov |
|
---|---|
if($area == 'page') { global $db_pages; $db->update($db_pages, array('page_rating' => $ratingnewaverage), "page_id=" . $code); }
|
Kopusha |
|
---|---|
Да да, так работает великолепно! Я просто не понял почему и окуда выскочило "ratingnewaverage" |