Новости 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 Гость просматривают эту тему.
  • 46 Ответов
  • 1988 Просмотров
*

Stasweb

  • Завсегдатай
  • 1500
  • 24 / 0
Столкнулся с такой проблемой, при валидции АМП страниц пишет
 В теге "amphtml engine v0.js script" отсутствует необходимый атрибут "async".
 в коде страницы
 
Код
<script async src="https://cdn.ampproject.org/v0.js"></script>
тег async присутствует.
 При просмотре страницы в браузере
 _https://lik-astana.kz/oformlenie-interera/tablichki/izgotovlenie-ukazatelej-ostorozhno-skolzko-detail.html?tmpl=amp
 тег async есть.
 При валидации
 validator.ampproject.org и search.google.com
 его нет.
 Подскажите в чем может быть проблема
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
Подскажите в чем может быть проблема
попробуйте указать его как async="async"
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Stasweb

  • Завсегдатай
  • 1500
  • 24 / 0
попробуйте указать его как async="async"
Пробовал, валидаторы удаляют атрибут.
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
А почему у вас отсутствует <head>? По идее ведь все, что между открывающим <html> и открывающим <body>, должно быть заключено в <head>. Или нет?
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Stasweb

  • Завсегдатай
  • 1500
  • 24 / 0
Цитировать
А почему у вас отсутствует <head>? По идее ведь все, что между открывающим <html> и открывающим <body>, должно быть заключено в <head>. Или нет?
Да все верно, но если поставить <head> то в этот тег сыпятся все скрипты которые подключены в обычной версии сайта.
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
Не сами же они сыпятся:
Код
<head>
    <? if($amp): ?>
    <!-- необычные скрипты -->
    <? else: ?>
<!-- обычные скрипты -->
    <jdoc:include type="head" />
    <? endif; ?>
</head>
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Stasweb

  • Завсегдатай
  • 1500
  • 24 / 0
Цитировать
Не сами же они сыпятся:
Код
<head>
    <? if($amp): ?>
    <!-- необычные скрипты -->
    <? else: ?>
   <!-- обычные скрипты -->
    <jdoc:include type="head" />
    <? endif; ?>
</head>
Не совсем понял, разжуйте 
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
Не совсем понял, разжуйте 
Стандартные (подключаемые чере апи - далее сожрано ...

короче, все стандартное выводится в позицию <jdoc:include type="head" />. Если ее убрать или обернуть в условие, то можно все метатеги, скрипты и стили ставить вручную в индексе шаблона. Код выше был просто для примера - его не надо добавлять в таком виде - уберите. Добавьте открывающий <head> сразу после <html amp lang="ru"> и закрывающий </head> непосредственно перед <body>.
« Последнее редактирование: 28.05.2019, 15:24:11 от sivers »
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Stasweb

  • Завсегдатай
  • 1500
  • 24 / 0
Добавьте открывающий  сразу после  и закрывающий  непосредственно перед .
и полезут скрипты.В шаблоне страницы <jdoc:include type="head" /> вообще нет.
Спойлер
[свернуть]
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
и полезут скрипты
если они у вас так нагло "лезут" то неплохо бы выяснить откуда. Либо плагины навешивают (в этом случае скрипты будут даже в исходном коде и при отключенном JS), либо другие JS на лету подвешивают - в этом случае они будут видны только в инспекторе отладчика. Методы борьбы отличаются, поэтому надо бы знать точно откуда лезут. И еще - для проверки повлияет ли наличие тега <head> на результаты валидатора можно включить лезущие скрипты, потом отключите снова (уберете head). Хотя бы узнаете в этом ли причина невалидности.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Stasweb

  • Завсегдатай
  • 1500
  • 24 / 0
При добавлении <head> </head> в шаблон ошибка в валидаторе не исчезает 
*

Stasweb

  • Завсегдатай
  • 1500
  • 24 / 0
может есть вариант отключить все что в <head></head> и загрузить только то что есть в документе.
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
Вообще странно. Google сам же публикует пример, где написано:
<script async src="https://cdn.ampproject.org/v0.js"></script>

Попробуйте скопировать в точности - может порядок атрибутов тоже играет роль? И вообще можно попробовать скопировать их пример 1 к 1, а потом уже постепенно менять на свое.

Насчет вашей проблемы с <head> не понятно. Включите на время и напишите что там лишнее (само) лезет - хоть посмотреть на это...
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Stasweb

  • Завсегдатай
  • 1500
  • 24 / 0
Включил, сейчас подключается аналитика, стили, и оптимизированные скрипты
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
Включил, сейчас подключается аналитика, стили, и оптимизированные скрипты
Вижу. В нижней части страницы вставлен скрипт системного плагина jch_optimize, который добавляет стиль в head. Если это необходимо на остальных страницах, кроме этой, то надо бы поставить в плагине jch_optimize условие. Аналитику Google, вероятно, подключает еще какой-то плагин. Тоже можно через условие в плагине сделать. Для начала посмотреть в код (и настройки) этих плагинов - возможно там уже предусмотрена возможность выборочного отключения.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Stasweb

  • Завсегдатай
  • 1500
  • 24 / 0
В настройках jch_optimize нет функции отключение на странице,  аналитику Google так-же нет возможности отключить. Есть ли возможность вообще отключить плагины с обработки страниц, допустим по их id
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
Есть ли возможность вообще отключить плагины с обработки страниц, допустим по их id
Качнул и посмотрел плагин оптимизации (версия 5.4.2) в нем прописано отключение, если в ссылке присутствует параметр jchbackend=1, либо пункт меню указан в списке исключений (настройки плагина или компонента оптимизатора - параметр menuexcluded), либо ссылка добавлена в список исключений (параметр menuexcludedurl тоже где-то в настройках).
Плагин гугл-аналитики надо смотреть - у меня его нет. Скиньте ссылку или сам плагин.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
Добавил jchbackend=1 в полной версии вашего сайта - скрипт и стиль оптимизатора исчезли - значит работает. Чтоб не пихать в ссылку, можно в индексе шаблона вашей amp-страницы добавить такой код:
Код
<?php
JFactory::getApplication()->input->set('jchbackend', 1);
?>
или даже такой:
Код
<?php
$_REQUEST['jchbackend'] = 1;
?>
Оба варианта должны отключить оптимизатор на страницах этого шаблона
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Stasweb

  • Завсегдатай
  • 1500
  • 24 / 0
Аналитика
Спойлер
[свернуть]
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
Аналитика
А вот с аналитикой прогеры не заморачивались. Там всего одно условие досрочного выхода - если плагин обнаруживает, что открыта страница админки.
Еще у него есть проверка собственных параметров, но их не получится менять динамически.
Остается только внести правки в сам плагин, если это вас не пугает. Чревато тем, что при обновлении плагина эти правки будут затерты.

Кстати, кто-то уже советовал хороший вариант войны с такими плагинами. Можно сделать копию плагина аналитики, внести в нее необходимые правки и активировать, а исходный плагин аналитики отключить. Тогда ничего не затрется, а в случае обновления плагина - обновится только отключенный.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Stasweb

  • Завсегдатай
  • 1500
  • 24 / 0
Цитировать
Остается только внести правки в сам плагин, если это вас не пугает.
Нет не пугает, какие правки?
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
Нет не пугает, какие правки?
А какое условие для отключения должно быть? Можно проверять какой-нибудь параметр аналогично оптимизатору или еще какое-то? или по наличию tmpl=amp в аргументах ссылки?
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Stasweb

  • Завсегдатай
  • 1500
  • 24 / 0
Необходимо отключить на амп страницах, можно по ?tmpl=amp
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
можно по ?tmpl=amp
тогда в стр. 44-46 надо заменить это:
Код
if ($app->isAdmin()) {
            return;
}
на это:
Код
if ($app->isAdmin() || $app->input->getCmd('tmpl', '') == 'amp') {
            return;
}
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Stasweb

  • Завсегдатай
  • 1500
  • 24 / 0
siversСпасибо за помощь с отключение скриптов!Но
Код
<script async src="https://cdn.ampproject.org/v0.js"></script>
по прежнему грузится без  async
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
по прежнему грузится без  async
Передайте ему в точности пример самого гугла:
Спойлер
[свернуть]
Он хоть в своем примере увидит или нет?
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
И еще - он как - буд-то закешировал вашу страницу. Надо для повторных проверок добавлять рандомные параметры в ссылку, чтоб Google заново закачивал
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Stasweb

  • Завсегдатай
  • 1500
  • 24 / 0
В варианте от Google он так-же не видит. Еще если просматривать в мазиле то
Код
<script async="" src="https://cdn.ampproject.org/v0.js"></script>
если просматривать в Chrome то
Код
<script src="https://cdn.ampproject.org/v0.js" type="text/javascript"></script>
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
Chromium показывает нормально (Chrome - не установлен). А ФФ в отладчике показывает как async="async" у меня
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
Вот, что интересно. Сохранил вашу страницу на свой ресурс:
Спойлер
[свернуть]
и подсунул Google - он сказал, что ошибок нет.
Второй валидатор согласился с гуглом, что ошибок нет.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблема с адаптацией

Автор Leo1986

Ответов: 1
Просмотров: 431
Последний ответ 22.05.2025, 20:30:25
от Leo1986
Проблема с плагином News Show gk5

Автор Evgeniy

Ответов: 4
Просмотров: 784
Последний ответ 27.03.2025, 05:38:57
от R31rus
Проблема со входом в панель администратора Joomla 3.x после обновления

Автор danieeljose

Ответов: 2
Просмотров: 864
Последний ответ 24.03.2025, 20:33:02
от R31rus
Валидация формы с загрузкой файлов на сервер

Автор kuliev

Ответов: 4
Просмотров: 803
Последний ответ 17.01.2025, 14:38:44
от kuliev
Пагинация страниц

Автор Anna_N

Ответов: 3
Просмотров: 678
Последний ответ 06.01.2025, 02:45:52
от pavelrer