За последние 24 часа нас посетили 22855 программистов и 1224 робота. Сейчас ищут 810 программистов ...

Плагин для Joomla, нужна помощь

Тема в разделе "Сделайте за меня", создана пользователем deniev.1992, 4 фев 2018.

Метки:
  1. deniev.1992

    deniev.1992 Активный пользователь

    С нами с:
    10 янв 2018
    Сообщения:
    5
    Симпатии:
    1
    Здравствуйте,
    Учитывая мои мизерные знания в PHP, мне с трудом удалось создать плагин для Joomla.
    Есть HTML5 плеер MediaElement.js, скачал и из нее создал плагин для Joomla следуя по инструкциям в интернете, установил, настроил дизайн плеера под себя. Теперь при вставке тегов <audio> срабатывает этот плеер.
    [​IMG]
    Дальше решил создать плагин который будет настраивать её через админ панель и будет вставлять плеер в материал при вводе собственных тегов (audio)file.mp3(/audio).

    Я раньше покупал один плагин (когда Joomla не поддерживал эмоджи) который вставляет смайлики в материалы Joomla, вводил к примеру :smile: в материале и он выводил смайлик в jpg. Я не знал что плагин работает таким образом, а думал что плагин позволяет движку Joomla распознавать uniкоды, в итоге я им и не пользовался.

    А сейчас когда решил создать плагин, поинтересовался как написан этот плагин со смайликами который заменяет определенный html код на другой. Переделал этот плагин под свои нужды, и теперь могу менять настройки того самого плеера (цвета, выравнивание, ширина, путь к файлам и т.д.) через админ панель и вставлять плеер с помощью тегов (audio)file.mp3(/audio).

    Код плагина:
    PHP:
    1. <?php
    2. defined('_JEXEC') or die;
    3. jimport('joomla.plugin.plugin');
    4. class plgContentPlayerCustomizer extends JPlugin {
    5.  
    6.     function onContentPrepare($context, &$row, &$params, $page = 0)
    7.     {
    8.         if (is_object($row)) {
    9.             return $this->_processPlayerCustomizer($row->text, $params);
    10.         }
    11.         return $this->_processPlayerCustomizer($row, $params);
    12.     }
    13.  
    14.     function onPrepareContent( &$article, &$params, $limitstart )
    15.     {
    16.         return $this->_processPlayerCustomizer($article->text, $params);
    17.     }
    18.     protected function _processPlayerCustomizer(&$text, &$params)
    19.     {
    20.  
    21. // Аудио тег
    22.  
    23. $text = str_replace('(audio)', '<div class="audio-player" align="'. $this->params->get("player-align", "center") .'">
    24. <audio controls="controls"><source src="'. $this->params->get("audio-directory", "archive/audio/") .'', $text);
    25.  
    26. $text = str_replace('(/audio)', '.mp3"/></audio></div>', $text);
    27.  
    28.         return true;
    29.     }
    30. }
    Я сократил код, оставляя то в чем нужна помощь. Если нужен весь код, могу и файл прислать.

    Теперь на конец, то в чем нужна помощь :D
    Всё работает как нужно, только работает исключительно в материалах Joomla, а в компонентах не работает. К примеру когда пользователь создает статью, то в компоненте на стене пользователя создается запись, и вот как это выглядит:

    [​IMG]
    т.е плагин не срабатывает. Нельзя настроить мой плагин так чтобы работал не в материалах, а чтобы заменял (audio) и (/audio) во всех текстах сайта, где бы они не располагались?

    Простите за такой длинный рассказ, хотел как можно точно объяснить проделанный путь и чего добиваюсь, я мало разбираюсь в PHP (пока только html и css), и не могу знать какие подробности вам нужны будут, поэтому всё разложил)

    Заранее спасибо!
     
  2. deniev.1992

    deniev.1992 Активный пользователь

    С нами с:
    10 янв 2018
    Сообщения:
    5
    Симпатии:
    1
    Никто не может помочь?)
     
  3. deniev.1992

    deniev.1992 Активный пользователь

    С нами с:
    10 янв 2018
    Сообщения:
    5
    Симпатии:
    1
    Спасибо знатоки)) сам нашел решение :D
     
    denis01 нравится это.
  4. rishard

    rishard Новичок

    С нами с:
    20 сен 2016
    Сообщения:
    228
    Симпатии:
    27
    трендец. Реплейс еще, смотрю, в коде поставил... скобки-то зачем круглые? жумле такое не свойственно, и производит впечатление абсурда.