Sidebar подключен в main.tpl через тег custom, в шаблоне которого подключены все блоки. Как можно сделать, чтобы рейтинг (который работает только в fullstory.tpl) работал и в Sidebar'e, тобишь в main.tpl?
полная новость тоже выводится через main.tpl но это же не значит что теги полной новости должны работать в main.tpl, т.к. это всё же разные шаблоны с разным предназначением. Для кастома попробуй в файле engine/modules/show.custom.php после PHP: $row['category'] = intval( $row['category'] ); добавить PHP: if ( $config['rating_type'] == "1" ) { $tpl->set( '[rating-type-2]', "" ); $tpl->set( '[/rating-type-2]', "" ); $tpl->set_block( "'\\[rating-type-1\\](.*?)\\[/rating-type-1\\]'si", "" ); $tpl->set_block( "'\\[rating-type-3\\](.*?)\\[/rating-type-3\\]'si", "" ); } elseif ( $config['rating_type'] == "2" ) { $tpl->set( '[rating-type-3]', "" ); $tpl->set( '[/rating-type-3]', "" ); $tpl->set_block( "'\\[rating-type-1\\](.*?)\\[/rating-type-1\\]'si", "" ); $tpl->set_block( "'\\[rating-type-2\\](.*?)\\[/rating-type-2\\]'si", "" ); } else { $tpl->set( '[rating-type-1]', "" ); $tpl->set( '[/rating-type-1]', "" ); $tpl->set_block( "'\\[rating-type-3\\](.*?)\\[/rating-type-3\\]'si", "" ); $tpl->set_block( "'\\[rating-type-2\\](.*?)\\[/rating-type-2\\]'si", "" ); } if( $row['allow_rate'] ) { $tpl->set( '{rating}', ShowRating( $row['id'], $row['rating'], $row['vote_num'], $user_group[$member_id['user_group']]['allow_rating'] ) ); $tpl->set( '{vote-num}', "<span id=\"vote-num-id-".$row['id']."\">".$row['vote_num']."</span>" ); $tpl->set( '[rating]', "" ); $tpl->set( '[/rating]', "" ); if( $user_group[$member_id['user_group']]['allow_rating'] ) { if ( $config['rating_type'] ) { $tpl->set( '[rating-plus]', "<a href=\"#\" onclick=\"doRate('plus', '{$row['id']}'); return false;\" >" ); $tpl->set( '[/rating-plus]', '</a>' ); if ( $config['rating_type'] == "2" ) { $tpl->set( '[rating-minus]', "<a href=\"#\" onclick=\"doRate('minus', '{$row['id']}'); return false;\" >" ); $tpl->set( '[/rating-minus]', '</a>' ); } else { $tpl->set_block( "'\\[rating-minus\\](.*?)\\[/rating-minus\\]'si", "" ); } } else { $tpl->set_block( "'\\[rating-plus\\](.*?)\\[/rating-plus\\]'si", "" ); $tpl->set_block( "'\\[rating-minus\\](.*?)\\[/rating-minus\\]'si", "" ); } } else { $tpl->set_block( "'\\[rating-plus\\](.*?)\\[/rating-plus\\]'si", "" ); $tpl->set_block( "'\\[rating-minus\\](.*?)\\[/rating-minus\\]'si", "" ); } } else { $tpl->set( '{rating}', "" ); $tpl->set( '{vote-num}', "" ); $tpl->set_block( "'\\[rating\\](.*?)\\[/rating\\]'si", "" ); $tpl->set_block( "'\\[rating-plus\\](.*?)\\[/rating-plus\\]'si", "" ); $tpl->set_block( "'\\[rating-minus\\](.*?)\\[/rating-minus\\]'si", "" ); }
в шаблоне новостей, которые выводятся кастомом, например sidebar_news.tpl, но я не знаю полной строки {custom... и поэтому не могу сказать как именно называется шаблон, в котором надо удалить эти открывающие/закрывающие теги рейтинга
Сразу не обратил внимания, сделал я правки, все нажимается, но не выводятся цифры возле лайка и дезлайка (после правок в show.custom). В фулстори все выводится( Пример Электровоз ДЭ1
это выводится модифицированный рейтинг "не новостей" а "новости", т.е. по факту рейтинг у тебя дублируется два раза, а код этого рейтинга (возможно ошибаюсь) работает только один раз на странице, в коротких новостях голосовалка работать не будет. Но думаю возможно сделать клон кода JS и переименовать идентификаторы этого рейтинга на другие и их уже выводить в шаблоне.
Только что удалил рейтинг из фулстори и оставил в сайтбаре, цифры там не выводятся, так еще и результат голосования не запоминается(((((