Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 15 Ответов
  • 1102 Просмотров
*

Stasweb

  • Завсегдатай
  • 1492
  • 24 / 0
Доброго времени суток форумчане!Необходима помощь по доработке плагина joomirseopagination, плагин добавляет # страницы к title. Мне необходимо сделать чтоб плагин добавлял номер страницы в описание.Код плагина
Код
defined('_JEXEC') or die;
jimport('joomla.plugin.plugin');

class plgSystemjoomirseopagination extends JPlugin
{   
    public function onAfterDispatch()
    {
        $app = JFactory::getApplication();
        if (!$app->isSite()) {
            return;
        }
       
        $document = JFactory::getDocument();
        $sitename = $app->getCfg('sitename');
        $current = str_replace($sitename,"",$document->getTitle());
       
        if(JRequest::getVar('start')){
        $title = $current." # ".JRequest::getVar('start');
        $document->setTitle($title);
       
        }
        $title_h1 = $title;
       
    }
}
И еще хотелось-бы вывести номер страницы в отдельную переменную и добавлять ее к h1 в категории
« Последнее редактирование: 16.03.2023, 07:52:07 от Stasweb »
*

sivers

  • Живу я здесь
  • 2453
  • 333 / 0
Re: Плагин joomirseopagination доработка
« Ответ #1 : 16.03.2023, 10:07:09 »
попробуйте использовать getDescription/setDescription по аналогии с getTitle/setTitle
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Stasweb

  • Завсегдатай
  • 1492
  • 24 / 0
Re: Плагин joomirseopagination доработка
« Ответ #2 : 16.03.2023, 11:34:02 »
Сделал так
Код
defined('_JEXEC') or die;
jimport('joomla.plugin.plugin');

class plgSystemjoomirseopagination extends JPlugin
{   
    public function onAfterDispatch()
    {
        $app = JFactory::getApplication();
        if (!$app->isSite()) {
            return;
        }
       
        $document = JFactory::getDocument();
        $sitename = $app->getCfg('sitename');
        $current = str_replace($sitename,"",$document->getTitle());
       
        $document->getDescription();
       
        if(JRequest::getVar('start')){
        $posts = "поста";
        // $title = $current .JTEXT::_('JNEXT')." # ".JRequest::getVar('start')/*." - ".$sitename*/;
        $title = $current." - показанно ".JRequest::getVar('start')." ".$posts;
        $document->setTitle($title);
       
        $desc = $current." - показанно ".JRequest::getVar('start')." ".$posts;
        $document->setDescription($desc);

       
        // $title_h1 = $title;
        }   
       
    }
}
Вроде работает, остался вопрос как добавить в h1
*

sivers

  • Живу я здесь
  • 2453
  • 333 / 0
Re: Плагин joomirseopagination доработка
« Ответ #3 : 16.03.2023, 11:57:26 »
Код
$document->getDescription();

это получение текущего дескрипшна. если он вам не нужен (вы никуда его не присваиваете), то эту строчку можно убрать.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Stasweb

  • Завсегдатай
  • 1492
  • 24 / 0
Re: Плагин joomirseopagination доработка
« Ответ #4 : 16.03.2023, 12:11:10 »
То-есть для вывода дискрипшена достаточно
Код
        $desc = $current." - показанно ".JRequest::getVar('start')." ".$posts; 
        $document->setDescription($desc);
*

sivers

  • Живу я здесь
  • 2453
  • 333 / 0
Re: Плагин joomirseopagination доработка
« Ответ #5 : 16.03.2023, 12:34:49 »
То-есть для вывода дискрипшена достаточно
Код
        $desc = $current." - показанно ".JRequest::getVar('start')." ".$posts; 
        $document->setDescription($desc);
Если у вас description строится из тайтла, то да. Но в общем случае надо читать текущий description и менять его:
Код
$current_desc = $document->getDescription();
$document->setDescription($current_desc.', бла-бла-бла, всякое разное, купить недорого без регистрации в один клик.');
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Stasweb

  • Завсегдатай
  • 1492
  • 24 / 0
Re: Плагин joomirseopagination доработка
« Ответ #6 : 16.03.2023, 13:18:25 »
к стати не заметил, действительно из тайтла.
Если у вас description строится из тайтла, то да. Но в общем случае надо читать текущий description и менять его:
Код
 $current_desc = $document->getDescription(); $document->setDescription($current_desc.', бла-бла-бла, всякое разное, купить недорого без регистрации в один клик.'); 
не совсем понял, как мне переделать
Код
defined('_JEXEC') or die;
jimport('joomla.plugin.plugin');

class plgSystemjoomirseopagination extends JPlugin
{   
    public function onAfterDispatch()
    {
        $app = JFactory::getApplication();
        if (!$app->isSite()) {
            return;
        }
       
        $document = JFactory::getDocument();
        $sitename = $app->getCfg('sitename');
        $current = str_replace($sitename,"",$document->getTitle());
       
        $document->getDescription();
       
        if(JRequest::getVar('start')){
        $posts = "публикаций";
        // $title = $current .JTEXT::_('JNEXT')." # ".JRequest::getVar('start')/*." - ".$sitename*/;
        $title = $current." - показанно ".JRequest::getVar('start')." ".$posts;
        $document->setTitle($title);
       
        $desc = $current." - показанно ".JRequest::getVar('start')." ".$posts;
        $document->setDescription($desc);

       
        // $title_h1 = $title;
        }   
       
    }
}
*

Stasweb

  • Завсегдатай
  • 1492
  • 24 / 0
Re: Плагин joomirseopagination доработка
« Ответ #7 : 16.03.2023, 13:24:46 »
вы имеете в веду
Код
defined('_JEXEC') or die;
jimport('joomla.plugin.plugin');

class plgSystemjoomirseopagination extends JPlugin
{   
    public function onAfterDispatch()
    {
        $app = JFactory::getApplication();
        if (!$app->isSite()) {
            return;
        }
       
        $document = JFactory::getDocument();
        $sitename = $app->getCfg('sitename');
        $current = str_replace($sitename,"",$document->getTitle());
       
        $document->getDescription();
       
        if(JRequest::getVar('start')){
        $posts = "публикаций";
        // $title = $current .JTEXT::_('JNEXT')." # ".JRequest::getVar('start')/*." - ".$sitename*/;
        $title = $current." - показанно ".JRequest::getVar('start')." ".$posts;
        $document->setTitle($title);
       
        $desc = $current." - показанно ".JRequest::getVar('start')." ".$posts;
        //$document->setDescription($desc);
       
       
        $current_desc = $document->getDescription();
        $document->setDescription($current_desc, $desc);

       
        // $title_h1 = $title;
        }   
       
    }
}
Тогда дискрипшен правильный но не добавляет $desc
*

sivers

  • Живу я здесь
  • 2453
  • 333 / 0
Re: Плагин joomirseopagination доработка
« Ответ #8 : 16.03.2023, 13:44:28 »
setDescription принимает только один параметр - строку, которая станет дескрипшном
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Stasweb

  • Завсегдатай
  • 1492
  • 24 / 0
Re: Плагин joomirseopagination доработка
« Ответ #9 : 16.03.2023, 13:55:40 »
Так вроде работает
Код
defined('_JEXEC') or die;
jimport('joomla.plugin.plugin');

class plgSystemjoomirseopagination extends JPlugin
{   
    public function onAfterDispatch()
    {
        $app = JFactory::getApplication();
        if (!$app->isSite()) {
            return;
        }
       
        $document = JFactory::getDocument();
        $sitename = $app->getCfg('sitename');
        $current = str_replace($sitename,"",$document->getTitle());
        $current_ds = str_replace($sitename,"",$document->getDescription());
       
        //$document->getDescription();
       
        if(JRequest::getVar('start')){
        $posts = "публикаций";
        // $title = $current .JTEXT::_('JNEXT')." # ".JRequest::getVar('start')/*." - ".$sitename*/;
        $title = $current." - показанно ".JRequest::getVar('start')." ".$posts;
        $document->setTitle($title);
       
        $desc = $current_ds." Показанно ".JRequest::getVar('start')." ".$posts;
    //  $document->setDescription($desc);
    //    $current_desc = $document->getDescription()."".$desc;
    //  $document->setDescription($current_desc);
        $document->setDescription($desc);

        }   
       
    }
}
*

sivers

  • Живу я здесь
  • 2453
  • 333 / 0
Re: Плагин joomirseopagination доработка
« Ответ #10 : 16.03.2023, 14:00:39 »
так и оставьте, если работает )
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Stasweb

  • Завсегдатай
  • 1492
  • 24 / 0
Re: Плагин joomirseopagination доработка
« Ответ #11 : 16.03.2023, 14:11:53 »
а что можете посоветовать с h1. Куча дублей получается
*

sivers

  • Живу я здесь
  • 2453
  • 333 / 0
Re: Плагин joomirseopagination доработка
« Ответ #12 : 16.03.2023, 14:39:55 »
переопределите макет категории и формируйте там h1 как вам необходимо
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Stasweb

  • Завсегдатай
  • 1492
  • 24 / 0
Re: Плагин joomirseopagination доработка
« Ответ #13 : 16.03.2023, 14:49:21 »
Макет переопределен, я думал брать число с JRequest::getVar('start') в пагинации и добавлять к заголовку, допустим
Код
$title_h1 = JRequest::getVar('start');
и переменную $title_h1добавить к заголовку  но так не работает
*

sivers

  • Живу я здесь
  • 2453
  • 333 / 0
Re: Плагин joomirseopagination доработка
« Ответ #14 : 16.03.2023, 14:52:50 »
Примерно так и надо. Где-то ошибка, раз не работает.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Stasweb

  • Завсегдатай
  • 1492
  • 24 / 0
Re: Плагин joomirseopagination доработка
« Ответ #15 : 16.03.2023, 15:00:33 »
Попробую разобраться
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не работает плагин на хостинге

Автор a7951396

Ответов: 3
Просмотров: 429
Последний ответ 29.11.2023, 17:56:49
от a7951396
Пробовали антиспам плагин akismet? Или как боретесь со спамом

Автор falkas

Ответов: 4
Просмотров: 1488
Последний ответ 23.05.2020, 18:43:03
от Mik Foxi
Пишу плагин подмены города, как правильнее сделать?

Автор d0ublezer0

Ответов: 6
Просмотров: 934
Последний ответ 03.12.2019, 17:52:51
от dm-krv
Плагин дебаггер

Автор ADM1NZ

Ответов: 5
Просмотров: 761
Последний ответ 28.11.2019, 14:58:40
от AlekVolsk
Плагин для определения размера файла

Автор bigbelka

Ответов: 6
Просмотров: 961
Последний ответ 26.09.2019, 15:55:08
от bigbelka