Схожі сторінки

Відображає найбільш схожі сторінки

Цей плагін відображає сторінки, які схожі на поточну сторінку. Кількість сторінок, що відображаються, ревалентність назва та довжина налаштовується.

Завантажити версію для Genoa (v1.0.1) або Siena (v.0.9.22).

#1. Встановлення

  1. Розпакуйте та помістіть в папку плагінів
  2. Відкрийте Адміністрування / Розширення і встановіть плагін
  3. Додайте {SIMILAR_PAGES} до page.tpl
  4. Налаштуйте plugins/similar/tpl/similar.tpl
  5. Налаштуйте конфігурацію плагіна, якщо необхідно

#2. Авторство

Портований Trustmaster із плагіну Seditio від Raveex.

Оновлено та протестовано для Siena v0.9.22 Dayver

 


1. 3axap  02.09.2010 16:55
Mega plugin!
2. Alex300  28.09.2010 13:50
It would be nice if the plugin would take similar pages, not only the page title, but also by tags. Similarly it is works on Joomla!
3. elfrenazo  27.08.2011 00:26

Muy buen plug ing, muchas gracias :)

4. Kingsley  14.01.2012 01:04

doesnt work with the latest Siena version..

5. Macik  15.01.2013 11:50

Fixed version for latest Siena you can download here: https://github.com/macik/cot-similarpages

 

6. lukgoh  01.11.2013 17:49

I added some code to mine so that if it doesn't find any by title then it looks by tags, probably a better way to do it but I will share just in case anyone is interested: 

Just after "$jj = 0;"

add:

if ($sql_sim->rowCount() == 0)
{
    $page_tags = $db->query("SELECT tag FROM $db_tag_references WHERE tag_item = ".$id." AND tag_area='pages' ");

    if ($page_tags->rowCount() > 0)
    {
        $tagArray = array();

        foreach ($page_tags->fetchAll() as $row_tags)
        {
            array_push ($tagArray, $row_tags['tag']);
        }

        foreach ($tagArray as $key=>$value)
        {
            $tagArray[$key] = $db->quote($value);
        }

        $input =  '(' . implode(',', $tagArray) . ')';
        $sql_tags = $db->query("SELECT tag_item from $db_tag_references WHERE tag IN $input AND tag_item != ".$id." AND tag_area='pages' ");

        if ($sql_tags->rowCount() > 0)
        {
            foreach ($sql_tags->fetchAll() as $row_tags)
            {
                $sql_sim = $db->query("SELECT * from $db_pages WHERE page_id= ".$row_tags['tag_item']." ");
            }
        }
    }
}

7. lukgoh  01.11.2013 18:11

Sorry I made a mistake:

 

if ($sql_sim->rowCount() == 0)
{
    $page_tags = $db->query("SELECT tag FROM $db_tag_references WHERE tag_item = ".$id." AND tag_area='pages' ");

    if ($page_tags->rowCount() > 0)
    {
        $tagArray = array();

        foreach ($page_tags->fetchAll() as $row_tags)
        {
            array_push ($tagArray, $row_tags['tag']);
        }

        foreach ($tagArray as $key=>$value)
        {
            $tagArray[$key] = $db->quote($value);
        }

        $input =  '(' . implode(',', $tagArray) . ')';
        $sql_tags = $db->query("SELECT tag_item from $db_tag_references WHERE tag IN $input AND tag_item != ".$id." AND tag_area='pages' ");

        if ($sql_tags->rowCount() > 0)
        {
            $pageArray = array();
            foreach ($sql_tags->fetchAll() as $row_tag)
            {
                array_push ($pageArray, $row_tag['tag_item']);
            }

            foreach ($pageArray as $key=>$value)
            {
                $pageArray[$key] = $db->quote($value);
            }

            $pagesinput =  '(' . implode(',', $pageArray) . ')';

            $sql_sim = $db->query("SELECT * from $db_pages WHERE page_id IN $pagesinput LIMIT $limit");
        }
    }
}

Додавання комментарів доступно лише зареєстрованим користувачам