| jcrush |
|
|---|---|
|
Есть плагин еще от седа похожих страниц, можно как нибудь его можифицировать, чтобы он похожии страницы цеплял только из категорий к которой относиться открытая страница?
$relev = $cfg['plugin']['similar']['relev'];
$limit = $cfg['plugin']['similar']['max_sim'];
$pag[page_title] = sed_sql_prep($pag[page_title]);
$sql_sim = sed_sql_query("SELECT p.*, u.user_name FROM $db_pages AS p LEFT JOIN $db_users AS u ON u.user_id=p.page_ownerid WHERE (p.page_state='0' OR p.page_state='2') AND p.page_id != $pag[page_id] AND MATCH (page_title) AGAINST ('$pag[page_title]')>$relev LIMIT $limit");
if (sed_sql_numrows($sql_sim)==0)
{
$plugin_out .= "";
}
else {
$i=1;
//$plugin_out .= "<ul><b>.............. ..........:</b>\n";
$plugin_out .= "<p><b>.............. ..........:</b></p><ul>\n";
while ($row = sed_sql_fetcharray($sql_sim))
{
$row['page_pageurl'] = (empty($row['page_alias'])) ? "page.php?id=".$row['page_id'] : "page.php?al=".$row['page_alias'];
$plugin_out .= "<li class=\"pw\"><a href=\"$row[page_pageurl]\">$row[page_title]</a></li>\n";
$i++;
}
}
$plugin_out .= "</ul>\n";
$t->assign("SIMILAR_PAGES", $plugin_out);
SEO блог: http://blog.stfw.ru/
|
| Clever |
|
|---|---|
|
Хорошая идея...
Только развил бы... Помимо из текущей категории дополнительно еще и по сайту исключая найденое выше... Похожее в категории: бла бла бла Похожее на сайте: бла2 бла2 бла2 Добавлено 4 Минуты спустя: Скорее всего там в четвертую строку нужно добавить дополнительное условие AND p.page_cat = $с что-то типа этого, но надо эксперементировать... но профи должны знать как правильно. |
| jcrush |
|
|---|---|
|
может кто подскажет, а то как то не айс получается, если сайт растет, а новости совсем не в тему...
вот перелинковка как в википедии это да, это тема, но это для нас пока фантастика... SEO блог: http://blog.stfw.ru/
|
| esclkm |
|
|---|---|
|
клевер дал относительно верный способ
только изучи как строятся новостит и сделай подобно... а вообще ребят вы побойтесь SQL запросов и времени со своим сео littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты |
| Clever |
|
|---|---|
|
Ну а как без сео жить?
Первыми сайт читают поисковики, а остальными уже пользователи... Если Первым не понравится, то трижды интересная и нужная статья не будет не кем прочитана. jcrush, правильно заметил недоработку плуга. Такая проблема даже с моими 2к страницами назревает... а его Пятилетним сайтом, так это вообще беда... Не нужны новости тем кто читает обзоры и обзоры тем кто читает новости. Добавлено 41 секунда спустя: esclkm, подскажи... тебе две секи ведь разобраться |
| esclkm |
|
|---|---|
|
Clev. если сайт грузится больше 10 ссекунд то даже поисковики не будут свое время тратить...
littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты |
| Yusupov |
|
|---|---|
|
Может добавить в запрос AND p.page_cat = $pag['page_cat']
|
| jcrush |
|
|---|---|
|
ошибки вылазят
SEO блог: http://blog.stfw.ru/
|
| Yusupov |
|
|---|---|
|
Какие ошибки? Покажи...
Нашел тут ветку на возможные ошибки: http://neocrome.ru/forums.php?m=posts&p=16976#16976 У меня все норм заработало. Пример: http://webbirga.ru/catalog/sport/yoga/81 Dit bericht is bewerkt door Yusupov (2010-01-16 14:44, 15 jaren ago) |
| jcrush |
|
|---|---|
|
напиши как ты сделал чтобы выводилось только из одной категории ?
SEO блог: http://blog.stfw.ru/
|
| Yusupov |
|
|---|---|
|
Фрагмент моего кода:
$simp = new XTemplate(sed_skinfile('similar', true));
$pag[page_title] = sed_sql_prep($pag[page_title]);
$sql_sim = sed_sql_query("SELECT p.*, u.user_name FROM $db_pages AS p
LEFT JOIN $db_users AS u ON u.user_id=p.page_ownerid
WHERE (p.page_state='0' OR p.page_state='2')
AND p.page_id != $pag[page_id]
AND page_cat='$pag[page_cat]'
AND MATCH (page_title) AGAINST ('$pag[page_title]')>$relev
LIMIT $limit");
if (sed_sql_numrows($sql_sim)!=0){
$jj = 0;
while ($pag = sed_sql_fetcharray($sql_sim)){
$jj++;
$catpath = sed_build_catpath($pag['page_cat'], "<a href=\"%1\$s\">%2\$s</a>");
$pag['page_pageurl'] = (empty($pag['page_alias'])) ? sed_url('page', 'id='.$pag['page_id']) : sed_url('page', 'al='.$pag['page_alias']);
$pag['page_fulltitle'] = $catpath." ".$cfg['separator']." <a href=\"".$pag['page_pageurl']."\">".htmlspecialchars($pag['page_title'])."</a>";
$item_code = 'p'.$pag['page_id'];
list($pag['page_comments'], $pag['page_comments_display']) = sed_build_comments($item_code, $pag['page_pageurl'], FALSE);
list($list_ratings, $list_ratings_display) = sed_build_ratings('p'.$pag['page_id'], $pag['page_pageurl'], $ratings);
$simp-> assign(array(
"PAGE_ROW_URL" => $pag['page_pageurl'],
"PAGE_ROW_ID" => $pag['page_id'],
"PAGE_ROW_TITLE" => $pag['page_fulltitle'],
"PAGE_ROW_SHORTTITLE" => htmlspecialchars($pag['page_title']),
"PAGE_ROW_CAT" => $pag['page_cat'],
"PAGE_ROW_CATTITLE" => htmlspecialchars($sed_cat[$pag['page_cat']]['title']),
"PAGE_ROW_CATPATH" => $catpath,
"PAGE_ROW_CATDESC" => htmlspecialchars($sed_cat[$pag['page_cat']]['desc']),
"PAGE_ROW_CATICON" => $sed_cat[$pag['page_cat']]['icon'],
"PAGE_ROW_KEY" => htmlspecialchars($pag['page_key']),
"PAGE_ROW_DESC" => htmlspecialchars($pag['page_desc']),
"PAGE_ROW_AUTHOR" => htmlspecialchars($pag['page_author']),
"PAGE_ROW_OWNER" => sed_build_user($pag['page_ownerid'], htmlspecialchars($pag['user_name'])),
"PAGE_ROW_AVATAR" => sed_build_userimage($pag['user_avatar'], 'avatar'),
"PAGE_ROW_DATE" => @date($cfg['formatyearmonthday'], $pag['page_date'] + $usr['timezone'] * 3600),
"PAGE_ROW_FILEURL" => $pag['page_url'],
"PAGE_ROW_SIZE" => $pag['page_size'],
"PAGE_ROW_COUNT" => $pag['page_count'],
"PAGE_ROW_FILECOUNT" => $pag['page_filecount'],
"PAGE_ROW_COMMENTS" => $pag['page_comments'],
"PAGE_ROW_RATINGS" => $list_ratings,
"PAGE_ROW_ODDEVEN" => sed_build_oddeven($jj),
"PAGE_ROW_NUM" => $jj,
));
$simp->parse("SIMILAR.PAGE_ROW");
}
$simp->parse("SIMILAR");
$t->assign('SIMILAR', $simp->text("SIMILAR"));
}
Еще нужно добавить файл similar.tpl с кодом:
<!-- BEGIN: SIMILAR -->
<!-- BEGIN: PAGE_ROW -->
<strong><a href="{PAGE_ROW_URL}">{PAGE_ROW_SHORTTITLE}</a></strong><br>
<!-- END: PAGE_ROW -->
<!-- END: SIMILAR -->
|
| Snake07 |
|
|---|---|
|
А еще можно сделать чтобы похожие страницы выводились случайным образом. Вот пример
http://knizhnik.org/page/skott-mariani-zagovor-motsarta.html |
| jcrush |
|
|---|---|
|
случайным не айс
Добавлено 18 Минут спустя: спасибо, я кавычки забыл написать, все ок. SEO блог: http://blog.stfw.ru/
Dit bericht is bewerkt door jcrush (2010-01-16 20:35, 15 jaren ago) |
| Azazello |
|
|---|---|
|
Выложите кто нибудь "Similar pages" под Cotonti.
|
| jcrush |
|
|---|---|
|
плагин с седа еще...
SEO блог: http://blog.stfw.ru/
|