mymiit
Адаптивность бы. Это первая ветка v1.10.4
mymiit, на 19-й строчке:
$inDB->where("con.showlatest = 1 AND canrate = 1");
Спасибо!
Есть модуль (слайдер выводящий последние новости — они же статьи).
В параметрах публикации есть опция Разрешить рейтинг — в таблице БД она записана как canrate.
Слайдер сейчас выводит все последние 7 новостей из рубрики, включая подрубрики.
Мне нужно добавить фильтр — условие if canrate==1 (если рейтинг разрешен — выводи в слайдер).
Подскажите правильный код синтаксиса и куда его вставить?

$model = new cms_model_content(); if($cfg['cat_id']){ if (!$cfg['subs']){ //выбираем из категории $model->whereCatIs($cfg['cat_id']); } else { //выбираем из категории и подкатегорий $rootcat = $inDB->getNsCategory('cms_category', $cfg['cat_id']); if(!$rootcat) { return false; } $model->whereThisAndNestedCats($rootcat['NSLeft'], $rootcat['NSRight']); } } $inDB->where("con.showlatest = 1"); $inDB->orderBy('con.pubdate', 'DESC'); $inDB->limit($cfg['newscount']); $content_list = $model->getArticlesList();

mymiit,
Какого пыхапэ?
Это смарти. Шаблонизатор.
Я проверил то, что написал. Это работает.
Приведите код, который Вы написали. Только под спойлер длинные простыни убирайте, пожалуйста.
Файл module.php
Даты вычитает верно, но в TPL передаётся только последнее значение...

А можно ли вместо foreach проверить только первое (самую свежую дату)?
$posts = $inBlog->getPosts(false, $model); if(!$posts){ return false; } foreach ($posts as $val){ $d = cmsCore::dateFormat($three_day_later); $dif = $d-$val['fpubdate']; echo $three_day_later.'<br>'; echo $d.'<br>'; echo $val['fpubdate'].'<br>'; echo ($d-$val['fpubdate']).'<br>'; } cmsPage::initTemplate('modules', 'mod_blogs')-> assign('posts', $posts)-> assign('cfg', $cfg)-> assign('dif', $dif)->
2016-10-17
17 октября 2016
сегодня в 15:40
17
2016-10-17
17 октября 2016
14 октября 2016
3
2016-10-17
17 октября 2016
11 октября 2016
6
2016-10-17
17 октября 2016
7 октября 2016
10
2016-10-17
17 октября 2016
1 сентября 2016
16
2016-10-17
17 октября 2016
10 июня 2016
7
{if $dif < 4}
Но пост от 14 октября 2016 возвращает разницу 3, что соответствует условию, но выводит всё равно с CSS-оформлением от else
{$dif} //тут ВСЕГДА 8 {if $dif < 3} <div class="mod_latest_entry ramaf"> <div class="mod_latest_image"> <a href="{profile_url login=$post.login}" title="{$post.author|escape:'html'}"><img border="0" class="usr_img_small" src="{$post.author_avatar}" /></a> </div> <a class="mod_latest_blog_title" href="{$post.url}" title="{$post.title|escape:'html'}">{$post.title|truncate:70}</a> <div class="mod_latest_date"> {$post.fpubdate} - <a href="{$post.blog_url}">{$post.blog_title}</a> - <a href="{$post.url}#c" title="{$post.comments_count|spellcount:$LANG.COMMENT1:$LANG.COMMENT2:$LANG.COMMENT10}" class="mod_latest_comments">{$post.comments_count}</a> - <span class="mod_latest_rating">{$post.rating|rating}</span> </div> </div> {else} <div class="mod_latest_entry rama"> <div class="mod_latest_image"> <a href="{profile_url login=$post.login}" title="{$post.author|escape:'html'}"><img border="0" class="usr_img_small" src="{$post.author_avatar}" /></a> </div> <a class="mod_latest_blog_title" href="{$post.url}" title="{$post.title|escape:'html'}">{$post.title|truncate:70}</a> <div class="mod_latest_date"> {$post.fpubdate} - <a href="{$post.blog_url}">{$post.blog_title}</a> - <a href="{$post.url}#c" title="{$post.comments_count|spellcount:$LANG.COMMENT1:$LANG.COMMENT2:$LANG.COMMENT10}" class="mod_latest_comments">{$post.comments_count}</a> - <span class="mod_latest_rating">{$post.rating|rating}</span> </div> </div> {/if} {/foreach}

$posts = $inBlog->getPosts(false, $model); if(!$posts){ return false; } foreach ($posts as $val){ $data = $val['fpubdate']; $d = cmsCore::dateFormat($three_day_later); $dif = $d-$data; } cmsPage::initTemplate('modules', 'mod_blogs')-> assign('posts', $posts)-> assign('cfg', $cfg)-> assign('dif', $dif)-> display('mod_blogs.tpl');
{php}echo $dif;{/php} //ничего не выводит {if $dif < 3}
$dif не правильно высчитывается или не передается вообще.
date("Y:m:d", strtotime("now +3 days"))
{php} echo $tdd; // 16:10:2016 {/php} {if $post.fpubdate > $tdd} // а $post.fpubdate выводится как 14 октября 2016 <div class="mod_latest_entry ramaf"> ... {$post.fpubdate} - <a href="{$post.blog_url}">{$post.blog_title}</a> ... </div> {else}
*В БД pubdate имеет тип datetime с примеру: 2014-08-07 13:30:17
mod_blogs.tpl
{if $post.fpubdate > ВОТ_ТУТ_ЧТО_НАПИСАТЬ} // если дата публикации БОЛЬШЕ (сегодняшняя дата МИНУС 3 дня) <div class="mod_latest_entry new"> ... {else} <div class="mod_latest_entry old"> ... {/if}
В УК автоматом выводится ссылка на поиск по тегам вида
/catalog/1002/tag/БЛА-БЛА-БЛА
Кто-нибудь делал подобное? У меня дальше просмотра файлов frontend.php и com_catalog_search.tpl дело не пошло))
Дело в том, что когда листаешь станицы, фокус остается внизу (на последних новостях), а нужно сделать автоскроллинг вверх к следующим по дате новостям.
InstantCMS v1.9
Illusion free (3)