SEO Meta Description для phpBB

Поддержка, переводы и разработка модификаций, расширений для форумов phpbb 3.0\3.1
Правила форума
Не загружайте скриншоты(изображения) на внешние хостинги и размещения их ссылок в сообщениях. Такие сообщения могут остаться без ответа или будут удалены!
Ответить Вложения 6
Аватара пользователя
Anvar
Администратор
Администратор
Сообщения: 1298
Зарегистрирован: 08.08.2014, 14:26

SEO Meta Description для phpBB

Сообщение Anvar » 18.11.2015, 10:53 #11

Ни каких файлов править не нужно в phpbb3.1
Не пишите в ЛС и ICQ вопросы которые можете задать на форуме!
Заказы по разработке не выполняю!

Аватара пользователя
gobuddy
bb3.0
bb3.0
Сообщения: 2
Зарегистрирован: 18.11.2015, 09:21

SEO Meta Description для phpBB

Сообщение gobuddy » 19.11.2015, 18:31 #12

вот голова квадратная )
Т.е для 3.1.6 нужно просто установить?
И даже ничего не настраивать?

Аватара пользователя
Anvar
Администратор
Администратор
Сообщения: 1298
Зарегистрирован: 08.08.2014, 14:26

SEO Meta Description для phpBB

Сообщение Anvar » 20.11.2015, 10:05 #13

Установить, настроить можно в "настройках конференции" описание для главной страницы форума. По желанию.

Аватара пользователя
Михаил Сапожников
bb3.0.1
bb3.0.1
Сообщения: 15
Зарегистрирован: 04.01.2016, 12:40

SEO Meta Description для phpBB

Сообщение Михаил Сапожников » 01.02.2016, 06:58 #14

А вот сказано что для главной берутся разделы или если не задано в админке, а где в админке задавать?

Отправлено спустя 2 часа 52 минуты 20 секунд:
Anvar писал(а):QR_BBPOST Установить, настроить можно в "настройках конференции" описание для главной страницы форума. По желанию.
так и не понял где сделать свой discription для главной

Аватара пользователя
Mykola Fenjuk
bb3.0.7
bb3.0.7
Сообщения: 83
Зарегистрирован: 25.06.2015, 12:14

SEO Meta Description для phpBB

Сообщение Mykola Fenjuk » 04.02.2016, 08:47 #15

В настройках конференции, админки. Там должна создатса новая строчка посля установки разширения.

Аватара пользователя
Николай Иванов
bb3.0.1
bb3.0.1
Сообщения: 12
Зарегистрирован: 11.02.2016, 10:01

SEO Meta Description для phpBB

Сообщение Николай Иванов » 12.02.2016, 18:09 #16

Тут версия мода 0.0.2 а на сайте phpbb версия 1.0.0, есть некоторая разница или нет?

Аватара пользователя
Anvar
Администратор
Администратор
Сообщения: 1298
Зарегистрирован: 08.08.2014, 14:26

SEO Meta Description для phpBB

Сообщение Anvar » 13.02.2016, 07:07 #17

Да, чем выше версия, тем лучше.. Там в настройках конференции можно добавить своё описание для главной форума.

Аватара пользователя
Николай Иванов
bb3.0.1
bb3.0.1
Сообщения: 12
Зарегистрирован: 11.02.2016, 10:01

SEO Meta Description для phpBB

Сообщение Николай Иванов » 13.02.2016, 09:08 #18

Anvar писал(а):Да, чем выше версия, тем лучше.. Там в настройках конференции можно добавить своё описание для главной форума.
Поставил версию 1.0.0 из сайта phpbb, но настройку не нашёл.

Отправлено спустя 14 минут 43 секунды:
Нашёл вот здесь ---> https://github.com/bb3mobi/seodesc

Аватара пользователя
Anvar
Администратор
Администратор
Сообщения: 1298
Зарегистрирован: 08.08.2014, 14:26

SEO Meta Description для phpBB

Сообщение Anvar » 13.02.2016, 10:57 #19

Да там последняя версия, надо сделать расширение для синхронизации с GitHub, когда только не знаю..
SEO Meta Description для phpBB - Meta Description.png

Аватара пользователя
Николай Иванов
bb3.0.1
bb3.0.1
Сообщения: 12
Зарегистрирован: 11.02.2016, 10:01

SEO Meta Description для phpBB

Сообщение Николай Иванов » 15.02.2016, 16:15 #20

Новая весия listener.php
До 180 символов; Сокращение текста заканьчвает уже так: текст... а не как текст .. Количество кода уже меньше. Константа убрана.

Код: Выделить всё

<?php
/**
*
* @package SEO Meta Description
* @copyright (c) 2014 Anvar [apwa.ru]
* @link http://bb3.mobi
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

namespace bb3mobi\seodesc\event;

use Symfony\Component\EventDispatcher\EventSubscriberInterface;

class listener implements EventSubscriberInterface
{
    /** @var \phpbb\template\template */
    protected $template;

    /** @var \phpbb\config\config */
    protected $config;

    public function __construct(\phpbb\template\template $template, \phpbb\config\config $config)
    {
        $this->template = $template;
        $this->config = $config;
    }

    static public function getSubscribedEvents()
    {
        return array(
            'core.display_forums_modify_forum_rows'    => 'forumlist_description',
            'core.viewforum_get_topic_data'            => 'viewforum_description',
            'core.viewtopic_modify_post_data'        => 'viewtopic_description',
        );
    }

    public function forumlist_description($event)
    {
        if ($this->config['meta_description'])
        {
            $this->template->assign_var('DESCRIPTION', $this->config['meta_description']);
        }
        else
        {
            $forum_desc = '';
            $row = $event['row'];
            $forum_rows = $event['forum_rows'];
            foreach ($forum_rows as $row)
            {
                /** No forum type category */
                if ($row['forum_type'] != FORUM_CAT)
                {
                    $forum_desc .= ($forum_desc) ? ', ' . $row['forum_name'] : $row['forum_name'];
                }
            }
            if ($forum_desc)
            {
                $this->template->assign_var('DESCRIPTION', trim($forum_desc));
            }
        }
    }

    public function viewforum_description($event)
    {
        $forum_data = $event['forum_data'];
        if (!empty($forum_data['forum_desc']))
        {
            $forum_desc = $this->strip_code($forum_data['forum_desc']);
            $this->template->assign_var('DESCRIPTION', trim($forum_desc));
        }
    }

    public function viewtopic_description($event)
    {
        $topic_desc = '';
        $rowset = $event['rowset'];
        $post_list = $event['post_list'];
        for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i)
        {
            // A non-existing rowset only happens if there was no user present for the entered poster_id
            // This could be a broken posts table.
            if (!isset($rowset[$post_list[$i]]))
            {
                continue;
            }
            $row = $rowset[$post_list[$i]];
            $topic_desc = $this->strip_code($row['post_text']);
            unset($rowset[$post_list[$i]]);
            break;
        }
        $this->template->assign_var('DESCRIPTION', trim($topic_desc));
    }

    private function strip_code($text)
    {
        $text = censor_text($text);

        strip_bbcode($text);

        $text = str_replace(array(""", "/", "\n", "\t", "\r"), ' ', $text);
        $text = preg_replace(array("|http(.*)jpg|isU", "@(http(s)?://)?(([a-z0-9.-]+)?[a-z0-9-]+(!?\.[a-z]{2,4}))@"), ' ', $text);
        $text = preg_replace("/[^A-ZА-ЯЁ.,-–?]+/ui", " ", $text);
        $text = preg_replace("/\[(.*)?\](.*)?\[(.*)?\]/", ' ', $text);
        
        if (strlen($text) > 180)
        {
            $text_ar = explode("\n", wordwrap($text, 180));
            $text = $text_ar[0] . '...';
        }

        return $text;
    }
} 
Последний раз редактировалось Николай Иванов 22.02.2016, 19:01, всего редактировалось 1 раз.

Ответить Вложения 6