Скрипт выводить похожие материалы исходя из названия материалов, но не используя для этого теги что очень выгодно, так же если вы заметили что все стандартные условные операторы закрыт для индексации и не возможно их изменить, так вот форма отличная для этого представляется при помощи данного скрипта
Вы спросите чем этот скрипт отличается от стандартного кода <?$RELATED_ENTRIES$(10)?> ucoz?
Стандартный скрипт ищет по тегам, а теги состоят из названия, если использовать авто-заполнение тегов. То есть сам вывод из названия материала, допустим нет тегов у материала и будет выводить из названия.
Установка скрипта: Первым делом подключаем в любое место скрипт на странице вывода материалов и комментариев :
Code
<script type="text/javascript">
$(function(){
related = {
title: '$ENTRY_NAME$', // название материала
number: 10, // количество материалов для вывода
push: $('#related'), // куда выводить
form: '<div class="related" id="r{ID}"><a href="{URL}" title="{TITLE}">{TITLE, 20}</a></div>', // форма вывода
a: <?if($MODULE_ID$ = 'stuff' || $MODULE_ID$ = 'dir' || $MODULE_ID$ = 'publ')?>2<?else?><?if($MODULE_ID$ = 'news')?>14<?endif?><?endif?>,
data: new String()
};
$.post('/$MODULE_ID$', {
query: related.title,
a: related.a
}, function(data){
$('.eTitle a', data).each(function(id){
if(id < related.number){
related.html = $(this).html();
if(location.href.indexOf($(this).attr('href')) == -1) related.data += related.form.replace(/\{ID\}/g, id).replace(/\{URL\}/g, $(this).attr('href')).replace(/\{TITLE(, ([0-9]+))?\}/g, function(a, b, c) {if(c) return (related.html.length > c ? related.html.substr(0, c) + '...' : related.html); else return related.html;});
};
});
if(related.data != '') related.push.html(related.data).prev('span').show();
});
});
</script>
При необходимости, можно изменить. Далее устанавливаем вывод материалов, то есть вставляем в то место где вам хотелось бы видеть материалы похожие:
Code
<span style="display:none;">Похожие материалы:</span>
<div id="related"></div>
Элемент
span с надписью Похожие материалы не удалять так как изначально должен быть скрыт, чтобы не переключать его видимость 100 раз.
Настройка и параметры скрипта. related.title - название материала, обычная переменная, например в модуле «Новости сайта» это
$ENTRY_NAME$ related.number - максимальное количество выводимых записей
related.form - форма вывода материалов, где можно использовать тэги:
{ID} - порядковый номер выводимой записи
{URL} - ссылка на материал
{TITLE[, num]} - название материала, через запятую можно указать максимальное количество символов, после которых будет поставлено многоточие, а можно вообще не указывать запятую с числом (например,
{TITLE} - выведет все,
{TITLE, 5} - обрежет по первые 5 символов)
Автор: Stufford