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

Barabashka

  • Захожу иногда
  • 64
  • 0 / 0
  • Son of Sky
в плагине SpThumbnail для
Код
 public function onContentPrepare($context, &$article, &$params, $limitstart=0) 

это реализуется вот так
 
Код
         
{
        if (empty($article->text)) return true; //exit if empty article
       
$app = JFactory::getApplication();
                $type = $this->params->get('thumbnails_for');
                $class = $this->params->get('class');

                // Loop to find and replace
                $pos_img = 0;
                $pos_img = strpos($article->text, '<img', $pos_img + 1);
                $new_txt = $article->text;
                while ($pos_img > 0)
                {
                    //Find class
                    $pos_greater = strpos($article->text, '>', $pos_img + 1);
                    $replace_str = substr($article->text, $pos_img, $pos_greater - $pos_img + 1);
                    $pos_class = strpos($replace_str, 'class');
                    $class_str = '';
                    if ($pos_class > 0) {
                        $pos_class_start = strpos($replace_str, '"', $pos_class + 1);
                        $pos_class_end = strpos($replace_str, '"', $pos_class_start + 1);
                        $class_str = substr($replace_str, $pos_class_start + 1, $pos_class_end - $pos_class_start - 1);
                    }

                    switch ($type) {
                        case 0:
                            if (strpos($class_str, $class)!== false) {
                                $new_txt = $this->convertString($new_txt, $replace_str);                               
                            }
                            break;
                        case 1:
                            if (strpos($class_str, $class) === false) {
                                $new_txt = $this->convertString($new_txt, $replace_str);                               
                            }
                            break;
                        case 2:
                            $new_txt = $this->convertString($new_txt, $replace_str);
                            break;
                        default:
                            break;
                    }

                    $pos_img = strpos($article->text, '<img', $pos_img + 1);
                }

                $article->text = $new_txt;

                return true;
}

        function onBeforeRender(){
            JHTML::_('behavior.modal');
        }

        private function convertString($text, $replace_str) {
            $pos = strpos($replace_str, 'src=');
            $pos_start = strpos($replace_str, '"', $pos + 1);
            $pos_end = strpos($replace_str, '"', $pos_start + 1);
            $image_str = substr($replace_str, $pos_start + 1, $pos_end - $pos_start - 1);
            $new_str = '<a class="modal" href="'.$image_str.'">'.$replace_str.'</a>';
            $return_str = str_replace($replace_str, $new_str, $text);
            return $return_str;
        }
}

хотелось бы для события (думаю, что этого)
Код
public function onContentBeforeSave($context, $article, $isNew)
   
создать подобное, но в рнр и Joomla разбираюсь плохо, поэтому прошу хотя бы задать нужное направление..

задача: чтобы при сохранении статьи (даже после редактирования) это
Код
<img  alt="Описание" src="images/картинка.jpg" />
заменялось на
Код
<a rel="boxplus" href="images/картинка.jpg" title="Описание"><img alt="Описание" src="images/картинка.jpg" />
</a>

хотя только сейчас дошло, что это может не получится, ибо при пересохранении опять будет заменять.. так ли? можно ли избежать?. . буду благодарен за хоть какие-то ответы
*

Barabashka

  • Захожу иногда
  • 64
  • 0 / 0
  • Son of Sky
некие уточнения: Joomla 3, К2 как конструктор контента и JCE редактор
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
Можно все, но собственно вопрос к Joomla не имеет никакого отношения.
Капайте в сторону регулярных выражений - это относится к php.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

С правкой кода

Автор THE KILLERS

Ответов: 2
Просмотров: 127
Последний ответ 02.12.2023, 18:17:19
от Vastriet
Вставка кода вызова модуля в тело шаблона другого модуля

Автор Dorfman

Ответов: 15
Просмотров: 1733
Последний ответ 19.11.2018, 21:45:54
от beliyadm
По ID'у пункта меню получить ссылку для перехода

Автор GRIG

Ответов: 4
Просмотров: 2539
Последний ответ 08.05.2017, 17:13:05
от Aleks.Denezh
Как реализовать добавление class в ссылку или кнопку?

Автор leo78

Ответов: 0
Просмотров: 961
Последний ответ 16.07.2015, 18:26:10
от leo78
Как вывести ссылку на выведенную статью?

Автор artemka

Ответов: 3
Просмотров: 1260
Последний ответ 15.06.2014, 11:03:59
от artemka