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

ast

  • Захожу иногда
  • 81
  • 6 / 0
На странице категории товаров у меня существует около 20 страниц, однако поисковики индексируют только первую и на следующие страницы не идут. Для того, чтобы указать поисковикам о том, что есть следующая страница, в HEAD страницы надо добавить тэги rel="next" и rel="prev" с указанием ссылок на эти страницы. Более подробно можно почитать тут: https://support.google.com/webmasters/answer/1663744?hl=ru
Для стандартных документов Joomla это можно решить следующим способом: http://demente-design.com/extensions/item/88-add-link-rel-prev-next-to-your-blog
Однако в VirtueMart используется свой класс VmPagination вместо стандартного джумловского Pagination.

Помогите добавить эти тэги на страничку категории.
« Последнее редактирование: 31.07.2013, 11:53:12 от beagler »
*

ast

  • Захожу иногда
  • 81
  • 6 / 0
Re: rel="next", rel="prev" и VirtueMart
« Ответ #1 : 31.07.2013, 11:00:54 »
Сделал сам, может кому пригодится. Меняем \templates\your_template\html\com_virtuemart\category\default.php
В самом начале после
Код
$document = JFactory::getDocument();
$document->addScriptDeclaration($js);

Добавляем следующий кусок кода:
Код
$pagdata = $this->vmPagination->getData();
if($pagdata->next->link){
$document->addHeadLink($pagdata->next->link, 'next');
}
if($pagdata->previous->link){
$document->addHeadLink( $pagdata->previous->link, 'prev');
}
« Последнее редактирование: 26.09.2013, 11:18:08 от ast »
*

Nibiru

  • Захожу иногда
  • 158
  • 0 / 0
  • lepnina.info
Re: rel="next", rel="prev" и VirtueMart
« Ответ #2 : 21.09.2013, 16:37:19 »
.... Меняем \templates\your_template\com_virtuemart\category\default.php
У меня в шаблонах нет VM. Может мне менять в components/com_virtuemart/views/category/tmpl/default.php ? У меня даже путь не category\default.php , а category/tmpl/default.php , но там нет строк
Код
$document = JFactory::getDocument();
$document->addScriptDeclaration($js);
« Последнее редактирование: 21.09.2013, 16:40:58 от Nibiru »
*

Максим Пишняк

  • Давно я тут
  • 837
  • 35 / 0
RE: rel="next", rel="prev" и VirtueMart
« Ответ #3 : 21.09.2013, 21:17:54 »
Ваша версия?
*

Nibiru

  • Захожу иногда
  • 158
  • 0 / 0
  • lepnina.info
RE: rel="next", rel="prev" и VirtueMart
« Ответ #4 : 22.09.2013, 03:00:54 »
Ваша версия?
Joomla! 2.5.14 , VM 2.0.22c
*

Максим Пишняк

  • Давно я тут
  • 837
  • 35 / 0
RE: rel="next", rel="prev" и VirtueMart
« Ответ #5 : 22.09.2013, 13:49:14 »
В этой версии доступна листалка fancybox. Почему вы не используете ее?
*

Nibiru

  • Захожу иногда
  • 158
  • 0 / 0
  • lepnina.info
Re: rel="next", rel="prev" и VirtueMart
« Ответ #6 : 22.09.2013, 18:18:29 »
я его использую. Стили CSS и сценарии JavaScript - Использовать Fancybox - включено.
*

Максим Пишняк

  • Давно я тут
  • 837
  • 35 / 0
RE: rel="next", rel="prev" и VirtueMart
« Ответ #7 : 22.09.2013, 20:54:50 »
И у вас не работает листалка картинок, да?
*

Nibiru

  • Захожу иногда
  • 158
  • 0 / 0
  • lepnina.info
RE: rel="next", rel="prev" и VirtueMart
« Ответ #8 : 23.09.2013, 04:22:14 »
Так поисковики индексируют только первую, как написано в посте. У меня Яндекс плохо индексирует магазин. Я думал в этом проблема.
*

Максим Пишняк

  • Давно я тут
  • 837
  • 35 / 0
RE: rel="next", rel="prev" и VirtueMart
« Ответ #9 : 23.09.2013, 22:04:42 »
На форуме обсуждалось как не запрещать индексацию картинок.
*

Nibiru

  • Захожу иногда
  • 158
  • 0 / 0
  • lepnina.info
RE: rel="next", rel="prev" и VirtueMart
« Ответ #10 : 23.09.2013, 23:29:33 »
при чём здесь картинки? Я говорю о страницах.
*

Максим Пишняк

  • Давно я тут
  • 837
  • 35 / 0
RE: rel="next", rel="prev" и VirtueMart
« Ответ #11 : 24.09.2013, 12:27:18 »
Действительно, о страницах. Просто когда я вижу слова rel="next", rel="prev" я сразу думаю о листалках картинок.

Вы можете подождать новую версию 2.0.22e. Там могут быть подвижки в этом вопросе.
*

Nibiru

  • Захожу иногда
  • 158
  • 0 / 0
  • lepnina.info
RE: rel="next", rel="prev" и VirtueMart
« Ответ #12 : 25.09.2013, 05:52:33 »
Бум ждать и надеяться!
*

ast

  • Захожу иногда
  • 81
  • 6 / 0
RE: rel="next", rel="prev" и VirtueMart
« Ответ #13 : 25.09.2013, 15:03:52 »
У меня в шаблонах нет VM. Может мне менять в components/com_virtuemart/views/category/tmpl/default.php ? У меня даже путь не category\default.php , а category/tmpl/default.php , но там нет строк
Код
$document = JFactory::getDocument();
$document->addScriptDeclaration($js);
Вам нужно скопировать файл components/com_virtuemart/views/category/tmpl/default.php в /templates/your_template/com_virtuemart/category/default.php
Это надо сделать для того, чтобы при переходе на следующее обновление VM ваши модификации не затирались. Это верно и в отношении всех других изменений.
На счет того, что нет необходимых строк - в исходной VM 2.0.22c такие строки есть: 39 и 40 строка.
*

Nibiru

  • Захожу иногда
  • 158
  • 0 / 0
  • lepnina.info
Re: rel="next", rel="prev" и VirtueMart
« Ответ #14 : 25.09.2013, 17:16:29 »
Мне в шаблоне создать папку com_virtuemart и в ней папку category ?

Строки действительно есть, но не ищутся по запросу
Код
$document = JFactory::getDocument();
$document->addScriptDeclaration($js);
, не знаю почему, но у меня они с пробелом перед скобками
Код
$document = JFactory::getDocument ();
$document->addScriptDeclaration ($js);
Плюсанул за помощь.
« Последнее редактирование: 25.09.2013, 17:24:33 от Nibiru »
*

ast

  • Захожу иногда
  • 81
  • 6 / 0
RE: rel="next", rel="prev" и VirtueMart
« Ответ #15 : 26.09.2013, 11:21:42 »
Мне в шаблоне создать папку com_virtuemart и в ней папку category ?
Сори, слегка ошибся в названии папок. Да, надо создать в шаблоне папки, путь выглядит так: \templates\название_шаблона\html\com_virtuemart\category\
*

Nibiru

  • Захожу иногда
  • 158
  • 0 / 0
  • lepnina.info
RE: rel="next", rel="prev" и VirtueMart
« Ответ #16 : 27.09.2013, 05:39:16 »
По этому адресу \templates\название_шаблона\html\ у меня лежит VM. Но я сравнил файлы default.php и они различаются, хотя я там ничего не исправлял. Может и все другие файлы разные. теперь и не знаю, что делать.
*

ast

  • Захожу иногда
  • 81
  • 6 / 0
RE: rel="next", rel="prev" и VirtueMart
« Ответ #17 : 27.09.2013, 10:04:29 »
По этому адресу \templates\название_шаблона\html\ у меня лежит VM. Но я сравнил файлы default.php и они различаются, хотя я там ничего не исправлял. Может и все другие файлы разные. теперь и не знаю, что делать.
Это значит, что у вас уже есть какая-то модификация шаблона. Возможно, эта модификация шла изначально в установленном шаблоне. В таком случае надо вносить изменения в этот файл.
*

Nibiru

  • Захожу иногда
  • 158
  • 0 / 0
  • lepnina.info
RE: rel="next", rel="prev" и VirtueMart
« Ответ #18 : 28.09.2013, 02:45:35 »
да уж
*

alexfom_16

  • Захожу иногда
  • 257
  • 24 / 0
RE: rel="next", rel="prev" и VirtueMart
« Ответ #19 : 06.12.2014, 21:04:24 »
Сделал сам, может кому пригодится. Меняем \templates\your_template\html\com_virtuemart\category\default.php
В самом начале после
Код
$document = JFactory::getDocument();
$document->addScriptDeclaration($js);

Добавляем следующий кусок кода:
Код
$pagdata = $this->vmPagination->getData();
if($pagdata->next->link){
$document->addHeadLink($pagdata->next->link, 'next');
}
if($pagdata->previous->link){
$document->addHeadLink( $pagdata->previous->link, 'prev');
}
Здравствуйте!
Если в категории более 2 страниц, то на второй странице пропадает rel="canonical".
Подскажите, пожалуйста, как исправить?
Joomla 2.5.27
VM 2.6.10
Рекомендую хостинг Beget.ru
Качественная настройка и ведение Яндекс.Директ.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Сортировка По наличию товара - сначала По убыванию в VirtueMart

Автор rsn

Ответов: 7
Просмотров: 3513
Последний ответ 10.04.2025, 01:19:37
от strongest
Блокировка спама в форме &quot;Задать вопрос по товару&quot; VirtueMart 3-4 средствами PHP

Автор aleks_yug

Ответов: 2
Просмотров: 1927
Последний ответ 30.08.2023, 11:37:41
от aleks_yug
[Решено] Если товар уже есть вкорзине изменить кнопку "Добавить в корзину"

Автор x-render

Ответов: 26
Просмотров: 12060
Последний ответ 26.11.2022, 22:38:11
от SolopoV
Доработать VirtueMart 3

Автор eclipseggg

Ответов: 1
Просмотров: 5871
Последний ответ 01.10.2021, 19:28:53
от varX
Как в RSS ленту VirtueMart 3 добавить дополнительные изображения товара?

Автор Slava77

Ответов: 2
Просмотров: 3118
Последний ответ 06.06.2021, 01:12:01
от Slava77