Новости Joomla

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+). При отображении форм компонента в админке раньше разработчикам нужно было описывать скрытые поля в лейаутах. И выглядело это так:

<?php     // Это файл в /layouts/components/com_component/your_layout.php?><input type="hidden" name="task" value=""><input type="hidden" name="return" value="<?php echo $input->getBase64('return'); ?>"><input type="hidden" name="forcedLanguage" value="<?php echo $input->get('forcedLanguage', '', 'cmd'); ?>"><?php echo HTMLHelper::_('form.token'); ?>
Начиная с Joomla 5.3 добавлен новый способ добавления таких полей (их называют control fields) - программно. И теперь это можно сделать просто в Controller / View.
// В Controller/View добавляем поля$this->form  ->addControlField('task', '')  ->addControlField('return', $input->getBase64('return', ''))  ->addControlField('forcedLanguage', $forcedLanguage);
А в layout'е просто используем метод
renderControlFields()
// В layout формыecho $this->form->renderControlFields();
Многие компоненты ядра уже используют этот подход. Соответствующий PR был принят в Joomla 5.3 осенью 2024г.Смотреть
Pull Request@joomlafeed#joomla #разработка #php

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

Новая итерация компонента продолжает развиваться, ведь с v.4.x компонент был переписан практически с нуля.

v.4.1.0. Что нового?

Редактирование метаданных изображений. Теперь метаданные можно не только читать, но и напрямую редактировать и записывать обратно в изображение JPG. Поддерживаются данные EXIF ​​и IPTC.

Полная совместимость с Joomla! 4.x, 5.x и 6.x. Компонент почистили от устаревших методов в коде.

Заметно ускорили загрузку больших галерей. Списки в админке, особенно для очень больших галерей ( >30 000 изображений), теперь загружаются значительно быстрее.

Несколько сеток lightGallery на одной странице. Будь то плагины контента или модули изображений: теперь вы можете отображать несколько галерей или категорий на одной странице без каких-либо ограничений.

Множество мелких исправлений ошибок и оптимизаций.

Сайт проекта

GitHub расширения

Скачать

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

samuray7

  • Захожу иногда
  • 77
  • 6 / 0
  • Хыка
JCH Optimizer и noindex
« : 22.01.2013, 20:33:44 »
Вопрос возможно не заинтересует многих, но... JCH Optimizer имеет функцию укорачивания кода, а именно убирает лишние пробелы и комментарии из кода - вещь очень не плохая (ИМХО). Но вот валидный noindex он тоже режет, приняв за коммент. Т.е. <!--noindex--> ..... <!--/noindex--> вырезается из кода с корнем.
 В JCH Optimizer, как я понял за этим стоит код:
Код
    protected function excludeIf($sType) {

        if (preg_match_all('~<\!--.*?-->~is', $this->sHead, $aMatches)) {

            foreach ($aMatches[0] as $sMatch) {

                preg_match_all('~.*?/([^/]+\.' . $sType . ').*?~', $sMatch, $aExcludesMatches);

                $this->aCallbackArgs['excludes'][] = @$aExcludesMatches[1][0];

            }

        }

    }
Моожет кто подсказать как составить условие, чтобы для строки, содержащей <!--noindex--> ..... <!--/noindex-->, данная функция не выполнялась?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: JCH Optimizer и noindex
« Ответ #1 : 23.01.2013, 04:05:42 »
 if (preg_match_all('~<\!--(?!\/?noindex).*?-->~is', $this->sHead, $aMatches)) {
*

samuray7

  • Захожу иногда
  • 77
  • 6 / 0
  • Хыка
Re: JCH Optimizer и noindex
« Ответ #2 : 23.01.2013, 14:12:51 »
Вы не так поняли. Нужно условие, при котором, если есть noidex, данную функцию пропустить.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: JCH Optimizer и noindex
« Ответ #3 : 23.01.2013, 14:21:23 »
Так регулярка так и делает. Не выбирает <!--noindex-->и <!--/noindex-->, выбирает все кроме предыдущих<!--любой текст-->
Вопрос вы пробовали вставлять вышеприведенный код?
(?!\/?noindex) - это и есть условие
*

samuray7

  • Захожу иногда
  • 77
  • 6 / 0
  • Хыка
Re: JCH Optimizer и noindex
« Ответ #4 : 23.01.2013, 20:42:06 »
Да, пробовал - <!--noindex--> ..... <!--/noindex--> вырезает подчистую
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: JCH Optimizer и noindex
« Ответ #5 : 23.01.2013, 22:13:23 »
Значит не здесь вырезает. Вот тест и результат под спойлером. Кеш чистили?
Код: php-brief
<?php
$text1 ='<!--noindex-->Привет<!--/noindex-->Тест1 <!--aaaa-->Привет<!--dddd-->Тест1 ';
if (preg_match_all('~<\!--(?!\/?noindex).*?-->~is', $text1, $aMatches)) {
   var_dump($aMatches);
}
?>
Спойлер
[свернуть]
*

samuray7

  • Захожу иногда
  • 77
  • 6 / 0
  • Хыка
Re: JCH Optimizer и noindex
« Ответ #6 : 23.01.2013, 22:28:43 »
Poznakomlus, спасибо за помощь.
Гм, может быть... Но похожее регулярное выражение нашел только в этом блоке. Да и файл в этом плагине один.
А если составить if else ? Для контрольного в голову? ))
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: JCH Optimizer и noindex
« Ответ #7 : 23.01.2013, 22:42:44 »
Чистили ли кеш?
Что у вас подается на вход функции. Если так вставите строку, что выведет
var_dump($sType);
*

samuray7

  • Захожу иногда
  • 77
  • 6 / 0
  • Хыка
Re: JCH Optimizer и noindex
« Ответ #8 : 24.01.2013, 10:27:45 »
Вы правы, там еще есть вызов на проверку комментов в коде.
*

samuray7

  • Захожу иногда
  • 77
  • 6 / 0
  • Хыка
Re: JCH Optimizer и noindex
« Ответ #9 : 24.01.2013, 18:21:15 »
В другом файле есть еще блок вырезания комментов =(
Код
        // remove HTML comments (not containing IE conditional comments).

        $this->_html = preg_replace_callback(

            '/<!--([\\s\\S]*?)-->/'

            ,array($this, '_commentCB')

            ,$this->_html);
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Теги noindex, nofollow при формировании url

Автор Pe3HuK

Ответов: 5
Просмотров: 1254
Последний ответ 27.06.2017, 10:03:40
от ChaosHead
Убрать тег noindex

Автор KingSnake

Ответов: 4
Просмотров: 2277
Последний ответ 20.11.2014, 14:27:43
от KingSnake
Не присваивается noindex, nofollow страницам через админку

Автор Kasumi

Ответов: 5
Просмотров: 1910
Последний ответ 06.08.2012, 22:05:17
от sbakur