|
|
01.12.2014, 15:47
|
|
ziggor
Зарегистрирован: 2014-12-01
Сообщений: 4
|
Ребята помогите!!!
Я с cms 1 день общаюсь, задание было :"
В пункт меню О компании добавить ссылку на раздел Статьи (/articles/). Предварительно этот раздел надо создать. Он должен быть динамическим с разводящей и детальной страницей. Для создания раздела использовать готовые компоненты. В этот раздел добавить 5 статей. У них должна проставляться дата, анонс, картинка, заголовок. "
С этим я разобрался, но есть в этом задании еще один маленький пункт а именно:
"На детальной странице после основного текста вывести блок Похожие статьи. Они должны отображать 3 любых статьи из раздела, кроме текущей."
Как это выполнить вообще понятия не имею, если кто сталкивался с такой задачей поясните что да как, за ранее благодарю.
|
|
|
01.12.2014, 16:29
|
|
Игорь
Игорь Мишарин

Зарегистрирован: 2011-11-20
Сообщений: 482
|
Создать дополнительный шаблон компонента, назвав, например, Похожие статьи.
В системных настройках этого шаблона:
Код:$ignore_sub=$ignore_cc=1;
$query_where = "a.Message_ID !=$id";
$recNum = 3;
В том месте, где нужен вывод этих трех статей:
Код:<?=s_list_class(XXX,YYY,"nc_ctpl=ZZZ&id=$f_RowID");?>
XXX - номер раздела статей
YYY - номер компонента в разделе статей
ZZZ - номер дополнительного шаблона
Stark
|
|
|
01.12.2014, 16:31
|
|
ziggor
Зарегистрирован: 2014-12-01
Сообщений: 4
|
Спасибо огромное сейчас буду ковырять;)
|
|
|
01.12.2014, 17:30
|
|
ziggor
Зарегистрирован: 2014-12-01
Сообщений: 4
|
Этот код подходит для последней версии?
у меня ощибка выходит "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND sub.`Catalogue_ID` = '1' AND a.`Checked` = 1 LIMIT 0,3' at line 4"
|
|
|
01.12.2014, 18:05
|
|
Игорь
Игорь Мишарин

Зарегистрирован: 2011-11-20
Сообщений: 482
|
Покажите код, который у Вас в системных настройках
Stark
|
|
|
01.12.2014, 18:17
|
|
ziggor
Зарегистрирован: 2014-12-01
Сообщений: 4
|
<?
$ignore_sub=$ignore_cc=1;
$query_where = "a.Message_ID !=$id";
$recNum = 3;
if ( isset($GLOBALS['date'])) list( $year, $month, $day ) = explode('-', $GLOBALS['date']);
if( !isset($year) || !$year) $year = date('Y');
if( !isset($month) || !$month) $month= date('m');
if( !isset($day) || !$day) $day = date('d');
if ( nc_module_check_by_keyword("comments") ) $nc_comments = new nc_comments($cc);
$groupHeader = false;
if ($cc_settings['ListingStyle']=='fixed' && !$recNum) $recNum = $cc_settings['FixedNumRows'];
// подписка на новости
$subscribe_link_text = false;
if ( nc_module_check_by_keyword("subscriber", 0 ) && $MODULE_VARS['subscriber']['VERSION'] > 1 && !$admin_mode ) {
try {
$nc_subscriber = nc_subscriber::get_object();
// пользователь уже подписан на рассылку?
if ( $nc_subscriber->is_subscribe_to_cc($cc) ) {
$subscribe_link_text = "Отписаться от рассылки";
}
else {
// получение номера рассылки для текущего компонента в разделе
$mailer_id = $nc_subscriber->get_mailer_by_cc($cc, 'Mailer_ID');
// проверка прав
if ( $nc_subscriber->check_rights($mailer_id) ) {
$subscribe_link_text = "Подписаться";
}
}
}
catch ( Exception $e ) {
;
}
}
?>
|
|
|
01.12.2014, 19:14
|
|
Игорь
Игорь Мишарин

Зарегистрирован: 2011-11-20
Сообщений: 482
|
Странно, конечно, у меня этот код работает.
Попробуйте:
- заменить $id на число,
- взять $id в одинарные кавычки
- полностью удалить строку $query_where
Stark
|