Новости Joomla

Свои типы полей в Joomla.

Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много

Это большая тема, о которой можно говорить очень много. Самое главное, что возможности применения ограничиваются только вашей больной фантазией. Вы строите интерфейс своего модуля или плагина и вам нужно подтянуть данные из сторонней системы (список чего-нибудь по какому-нибудь API), чтобы сохранить выбранный id в Joomla. Или сделать какую-то проверку и в зависимости от неё показать то или иное сообщение пользователю. Для этого подойдут свои пользовательские типы полей. Интерфейс Joomla по большей части описан в XML-файлах. У каждого из них свои параметры. Некоторые не описаны в документации (manual.joomla.org), поэтому самым любопытным будет полезно заглянуть в собственно файлы фреймворка по пути

libraries/src/Form/FormField.php, а так же в
libraries/src/Form/Fields. У каждого класса поля перечислены его специфические свойства, которые можно описывать в XML. А в своём типе поля вы можете устанавливать эти значения программно. В моём модуле WT Quick links под капотом происходят изменения. Теперь для работы (в админке) ему нужен вспомогательный плагин. А в самом модуле нам бы проверить, а не выключен ли он? В Joomla есть тип поля Note - заметка. Его можно использовать для вывода примечаний.

<field type="note" name="your_note_for_user" label="Заголовок примечания" title="Альтернативный способ для заголовка" description="Текст примечания" class="col-12 alert alert-info" heading="h1" close="true" />

heading - указывать уровень заголовка.
close - позволяет закрыть это примечание. В классе поля
libraries/src/Form/Field/NoteField.php описана логика вывода. И в принципе оно нам подходит для нашей задачи. Но оно будет выводить сообщение всегда, а нам нужно только тогда, когда плагин отключён. Поэтому берём и создаём свой класс поля, который мы унаследуем от
NoteField. Это значит, что у нас в руках будет весь инструментарий стандартного поля
Note + то, что мы сами добавим. В XML-манифест добавляем наше поле

<field type="systempluginstatus" name="systempluginstatus" addfieldprefix="Joomla\Module\Wtquicklinks\Site\Fields"/>

-

type - имя файла и класса,-
addfieldprefix - указываем namespace к нашему классу, может быть любой нам нужный-
name - нельзя полю без имени...Это означает, что Joomla будет использовать класс поля из файла
modules/mod_wt_quick_links/src/Fields/SystempluginstatusField.php.А в классе поля будет написано следующее:

<?php // namespace для атрибута addfieldprefix namespace Joomla\Module\Wtquicklinks\Site\Fields; // нельзя напрямую обращаться к этому файлу defined('_JEXEC') or die; // подключаем родительский класс для переопределения use Joomla\CMS\Form\Field\NoteField; use Joomla\CMS\Language\Text; use Joomla\CMS\Plugin\PluginHelper; // имя класса и имя файла точь-в-точь class SystempluginstatusField extends NoteField { protected $type = 'Systempluginstatus'; protected function getLabel() { // если плагин не включён if(PluginHelper::isEnabled('system','wtquicklinks')) { // меняем свойства родительского класса $this->class = 'alert alert-danger w-100'; $this->element['label'] = '⚠️ А-а-а-а!'; $this->element['description'] = 'Плагин не включён!!'; // и просто рендерим его с нашими свойствами return parent::getLabel(); } // А иначе всё хорошо, скрываем поле из виду. $this->parentclass = 'd-none'; return ''; } }

Просто и удобно. И людям приятно, что о них позаботились и рассказали почему что-то не работает. @webtolkru#joomla #php #webdev #разработка

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

wishlight

  • Гуру
  • 5051
  • 314 / 1
  • От 300 руб быстрый хостинг. Сервера.
Re: Настройка OSMap
« Ответ #30 : 30.06.2017, 23:06:45 »
    Подскажите, где скачать osmap для Joomla 2.5? [/list]

    Xmap хотя не рекомендовал бы.
    *

    leo78

    • Завсегдатай
    • 1018
    • 62 / 8
    • I left from paradise!?...
    Re: Настройка OSMap
    « Ответ #31 : 11.11.2017, 00:03:29 »
    Код
    RewriteCond %{REQUEST_URI} ^/sitemap.xml
    RewriteRule .* /component/osmap/?view=xml&id=1

    Помимо такого есть и такой вариант:

    Код
    RewriteRule ^sitemap.xml$ index.php?option=com_osmap&view=xml&tmpl=component&id=1 [L]


    Но вообще автор предлагает просто прописать ссылку без всяких переходов
    https://www.joomlashack.com/docs/osmap/start/
    если есть кеш
    https://extensions.joomla.org/extensions/extension/structure-a-navigation/site-map/sitemap-cache/
    - нужно это
     *DRINK*
    « Последнее редактирование: 11.11.2017, 09:33:54 от leo78 »
    *

    Natprof

    • Новичок
    • 8
    • 0 / 0
    Re: Настройка OSMap
    « Ответ #32 : 14.12.2017, 19:19:01 »
    При переходе на страницу XML - /component/osmap/?view=xml&id=1
    выдает пустую страницу, так и должно быть? Или как исправить подскажите?
    *

    chernykh

    • Новичок
    • 6
    • 0 / 0
    Re: Настройка OSMap
    « Ответ #33 : 24.04.2018, 09:41:51 »
    При переходе на страницу XML - /component/osmap/?view=xml&id=1
    выдает пустую страницу, так и должно быть? Или как исправить подскажите?
    Точно такая же ерунда.
    Нашли решение?
    *

    almika

    • Захожу иногда
    • 325
    • 27 / 0
    Re: Настройка OSMap
    « Ответ #34 : 25.04.2018, 01:46:56 »
    Точно такая же ерунда.
    Нашли решение?

    Вот тут все описано.
    OSMap: как изменить вывод на site.ru/sitemap.xml?
    *

    Beer

    • Завсегдатай
    • 1103
    • 43 / 1
    • БИРУ - БИР!
    Re: Настройка OSMap
    « Ответ #35 : 15.09.2018, 12:01:19 »
     OSMap генерирует карту только для пунктов меню. У меня 1000 материалов - естественно, что на каждый материал я не создаю Пункт меню.
     OSMap - их не видит.
    *

    almika

    • Захожу иногда
    • 325
    • 27 / 0
    Re: Настройка OSMap
    « Ответ #36 : 18.09.2018, 02:30:50 »
    OSMap генерирует карту только для пунктов меню. У меня 1000 материалов - естественно, что на каждый материал я не создаю Пункт меню.
     OSMap - их не видит.
    Как минимум надо создать пункт меню для каждой категории. Тогда ссылки на материалы из этих категорий попадут в карту сайта.

    Вот в доках написано https://www.joomlashack.com/docs/osmap/start/
    Цитировать
    Step #4. Make sure all your content is accessible
    ...
    OSMap relies on menus to find your content. Make sure that all your content is accessible via a menu. You do not have to make a direct link to your content, but you at least have to have a link to the category that contains the content.

    OSMap основывается на меню для поиска вашего контента. Убедитесь, что ваш контент доступен через меню. Если у вас нет прямой ссылки на контент, то, по крайней мере, у вас должна быть ссылка на категорию, содержащую контент.

    Читайте доки, в них все есть. Пользуйтесь переводчиком, если трудности с английским.

    Удачи
    *

    wishlight

    • Гуру
    • 5051
    • 314 / 1
    • От 300 руб быстрый хостинг. Сервера.
    Re: Настройка OSMap
    « Ответ #37 : 18.09.2018, 07:02:33 »
    OSMap - их не видит.

    Создайте верхний пункт меню в скрытом меню.
    *

    Cedars

    • Давно я тут
    • 585
    • 31 / 0
    Re: Настройка OSMap
    « Ответ #38 : 18.09.2018, 07:52:57 »
    *

    Beer

    • Завсегдатай
    • 1103
    • 43 / 1
    • БИРУ - БИР!
    Re: Настройка OSMap
    « Ответ #39 : 18.09.2018, 11:49:19 »
    В OSMap по умолчанию включено Main menu - в нем ссылки на категории.
    Полез сейчас посмотреть /component/osmap/?view=xml&id=2:
    This page contains the following errors:
    error on line 37 at column 8: Opening and ending tag mismatch: meta line 0 and head
    Below is a rendering of the page up to the first error.


    Все версии всего последние.
    *

    almika

    • Захожу иногда
    • 325
    • 27 / 0
    Re: Настройка OSMap
    « Ответ #40 : 18.09.2018, 12:07:23 »
    Это полное сообщение об ошибке? К какой ссылке относится?
    *

    almika

    • Захожу иногда
    • 325
    • 27 / 0
    Re: Настройка OSMap
    « Ответ #41 : 18.09.2018, 12:08:58 »
    Кэш не забыли почистить? И какая версия php?

    Еще в настройках карты xml надо
     Add Styling = Нет
    « Последнее редактирование: 18.09.2018, 12:22:58 от almika »
    *

    Beer

    • Завсегдатай
    • 1103
    • 43 / 1
    • БИРУ - БИР!
    Re: Настройка OSMap
    « Ответ #42 : 18.09.2018, 12:21:12 »
    Зашел в administrator/index.php?option=com_osmap&view=sitemaps
    Вижу пункты OSMap Free: Sitemaps: т.е. мои карты сайта от моих меню (у меня несколько меню).
    XML  HTML  News  Images.

    Еще у меня есть пункт меню в main menu, кот. называется:
    "Карта сайта xml"
    (OSMap Free » Sitemap - XML Format (default XML, images and news))

    Ссылка - сайт/component/osmap/?view=xml&id=1

    Не работает в админке Edit Links - страница открывается, а внутри ссылок нет - только гифка ожидания крутится.

    PHP 7.0
    Опенсервер.
    Кэш отключен.
    « Последнее редактирование: 18.09.2018, 12:26:31 от Beer »
    *

    almika

    • Захожу иногда
    • 325
    • 27 / 0
    Re: Настройка OSMap
    « Ответ #43 : 18.09.2018, 12:24:38 »
    Зашел в administrator/index.php?option=com_osmap&view=sitemaps
    Вижу пункты OSMap Free: Sitemaps: т.е. мои карты сайта от моих меню (у меня несколько меню).
    XML  HTML  News  Images.

    Еще у меня есть пункт меню в main menu, кот. называется:
    "Карта сайта xml"
    (OSMap Free » Sitemap - XML Format (default XML, images and news))

    Ссылка - сайт/component/osmap/?view=xml&id=1

    Не работает в админке Edit Links - страница открывается, а внутри ссылок нет - только гифка ожидания крутится.

    PHP 7.0
    Опенсервер.

    А с фронта если зайти, можно редактировать?
    В предыдущем посте добавила про  Add Styling.

    *

    Beer

    • Завсегдатай
    • 1103
    • 43 / 1
    • БИРУ - БИР!
    Re: Настройка OSMap
    « Ответ #44 : 18.09.2018, 12:31:34 »
    С фронта - белая страница с красными буквами и все.
    Хотя посмотрел исходный код страницы - он не пустой.
    Контент таков:
    Спойлер
    [свернуть]
    *

    almika

    • Захожу иногда
    • 325
    • 27 / 0
    Re: Настройка OSMap
    « Ответ #45 : 18.09.2018, 12:54:24 »
    Можно все скриншоты ваших настроек?
    Плагинов, меню, карты

    Также включите показ ошибок и что в error.log?

    Вы пункт меню для карты сайта создали? Для xml и для html? (index.php?option=com_osmap&view=xml&id=1 для xml ссылка такая, если идентификатор карты 1, или через алиас)
    « Последнее редактирование: 18.09.2018, 13:04:59 от almika »
    *

    Beer

    • Завсегдатай
    • 1103
    • 43 / 1
    • БИРУ - БИР!
    Re: Настройка OSMap
    « Ответ #46 : 18.09.2018, 13:31:13 »
    Скрины:
    Спойлер
    [свернуть]
    С логами сервера не разобрался - похоже, что у меня они отключены.

    Попробую поставить на чистом сайте - может там разберусь, т.к. тут сналета как-то не запускается.
    *

    almika

    • Захожу иногда
    • 325
    • 27 / 0
    Re: Настройка OSMap
    « Ответ #47 : 18.09.2018, 13:44:05 »
    В пункте меню Карта сайта какие настройки?

    Вкладка Sitemap Settings в настройках
    « Последнее редактирование: 18.09.2018, 13:52:39 от almika »
    *

    Beer

    • Завсегдатай
    • 1103
    • 43 / 1
    • БИРУ - БИР!
    Re: Настройка OSMap
    « Ответ #48 : 18.09.2018, 13:57:05 »
    Спойлер
    [свернуть]
    *

    almika

    • Захожу иногда
    • 325
    • 27 / 0
    Re: Настройка OSMap
    « Ответ #49 : 18.09.2018, 14:21:42 »
    Странно у вас Ссылка - index.php?option=com_osmap&view=xml&id=0, должно быть id=1

    Попробуйте пересоздать этот пункт меню. И почистите кэш обязательно.

    Почему то у вас в карте сайта получается # Unique links 0, не берется из Main Menu ничего.
    Что у вас в Main Menu? Есть пункт меню для материала или категории?
    « Последнее редактирование: 18.09.2018, 14:32:15 от almika »
    *

    Beer

    • Завсегдатай
    • 1103
    • 43 / 1
    • БИРУ - БИР!
    Re: Настройка OSMap
    « Ответ #50 : 18.09.2018, 16:30:26 »
    В Main Menu все есть - и материалы и категории с материалами.
    Пересоздал - не помогло.
    *

    almika

    • Захожу иногда
    • 325
    • 27 / 0
    Re: Настройка OSMap
    « Ответ #51 : 18.09.2018, 17:58:08 »
    А у вас Jomshopping стоит плагин также для OSMap, может из-за него?
    Попробуйте отключить его, будет ли работать?
    Или попробуйте вот этот, немного переделанный Карта сайта JoomShopping XML - чем сделать?
    Или попробуйте в нем в 14-й строке поставить & перед первым аргументом - &$xmap:
       public static function getTree(&$xmap, &$parent, &$params) {
    Я уж и не знаю, что еще может быть.
    *

    Beer

    • Завсегдатай
    • 1103
    • 43 / 1
    • БИРУ - БИР!
    Re: Настройка OSMap
    « Ответ #52 : 18.09.2018, 18:39:02 »
    Сделал так:
    Photo
    [свернуть]

    И чудо свершилось - карта сайта появилась!
    Осталось настроить и определить, что глючит.
    *

    almika

    • Захожу иногда
    • 325
    • 27 / 0
    Re: Настройка OSMap
    « Ответ #53 : 19.09.2018, 02:03:19 »
    И чудо свершилось - карта сайта появилась!
    Осталось настроить и определить, что глючит.

    Ура!

    А у вас все эти расширения стоят? Если нет, то и плагины не надо включать.
    По Joomsрopping я вам выше ссылку давала, если в нем дело, то туда пишите.
    У меня нет его, я с Hikashop работаю.

    Удачи
    *

    Vasiliy111

    • Захожу иногда
    • 248
    • 5 / 0
    Re: Настройка OSMap
    « Ответ #54 : 20.10.2018, 12:08:17 »
    Кто нибудь настраивал в OSMap значение "Priority". В настройках его можно изменить от 10 до 100 % (0.1 - 1.0). По умолчанию для всех страниц Priority = 0.5. Стоит ли его вообще изменять?
    *

    Cedars

    • Давно я тут
    • 585
    • 31 / 0
    Re: Настройка OSMap
    « Ответ #55 : 21.10.2018, 06:00:15 »
    Стоит ли его вообще изменять?

    Чем больше значение - тем больий приоритет в индексации имеет указанная страница для Google бота.. Изменится приоритет индексации страниц.. а какой результат вы ждете от этого то?? Если у вас нормальный хорошо индексирующийся сайта, priority не будет влиять ни на скорость индексации, ни на позиции сайта, ни какого другого ощутимого эффекта от него не будет. А коли так - оставьте значения который предлагает ваш генератор сайтмапа по умолчанию.

    Опять же:
    Если верить Джону Мюллеру из Google, то они больше обращают внимание на дату последнего обновления в сайтмапе. Пруфлинк: https://www.seroundtable.com/google-priority-change-frequency-xml-sitemap-20273.html
    *

    Андрей Нестеров

    • Захожу иногда
    • 207
    • 6 / 0
    Re: Настройка OSMap
    « Ответ #56 : 25.10.2018, 19:14:08 »
    Добрый день! Установил компонент OSMap, разработчик настроил вывод как HTML-версии, так и XML-версии. Но ссылка на XML-версию какая-то непривычная (https://armymusic.ru/sitemap-xml.html). Когда стоял Xmap, ссылка была такого вида - https://armymusic.ru/index.php?option=com_osmap&view=xml&id=1. Вопрос: какую из этих ссылок надо прописать в robots.txt и в панели вебмастеров Яндекс и Google?
    *

    wishlight

    • Гуру
    • 5051
    • 314 / 1
    • От 300 руб быстрый хостинг. Сервера.
    Re: Настройка OSMap
    « Ответ #57 : 25.10.2018, 19:39:31 »
    какую из этих ссылок надо прописать в robots.txt и в панели вебмастеров Яндекс и Google?

    Без разницы
    *

    Андрей Нестеров

    • Захожу иногда
    • 207
    • 6 / 0
    Re: Настройка OSMap
    « Ответ #58 : 26.10.2018, 18:33:37 »
    wishlight, куда, помимо robots.txt и панели вебмастеров, необходимо еще прописать новую ссылку на XML-версию карты сайта?
    *

    bratsk12

    • Осваиваюсь на форуме
    • 36
    • 0 / 0
    Re: Настройка OSMap
    « Ответ #59 : 22.09.2021, 10:03:30 »
    Здравствуйте! Не понятно, карта в формате sitemap.xml должна физически "лежать" в корне?
    У меня созданы 2 пункта меню для карт sitemap.xml и sitemap.xtml Адреса: https://juravlenok75.ru/sitemap и https://juravlenok75.ru/map все открывается и работает. Яндексу указать на https://juravlenok75.ru/sitemap? (У меня включено ЧПУ и расширений нет. По адресу https://juravlenok75.ru/sitemap.xml - 404 ошибка) Как правильно сделать для него?

    Или сделать редирект
    Redirect 301 /sitemap.xml http://test.ru/sitemap и скормить Яндексу https://juravlenok75.ru/sitemap.xml
    « Последнее редактирование: 22.09.2021, 10:26:48 от bratsk12 »
    Чтобы оставить сообщение,
    Вам необходимо Войти или Зарегистрироваться
     

    OSMap Free не обновляется карта сайта

    Автор Stasweb

    Ответов: 7
    Просмотров: 2950
    Последний ответ 16.05.2020, 13:25:08
    от Kostelano
    OSMap: как изменить вывод на site.ru/sitemap.xml?

    Автор Benefactor

    Ответов: 14
    Просмотров: 12082
    Последний ответ 10.03.2020, 15:15:29
    от Paveldz
    OSMap - проблема с обновлением

    Автор x1

    Ответов: 0
    Просмотров: 5255
    Последний ответ 28.02.2020, 20:04:22
    от x1
    OSMap пустой XML

    Автор ach

    Ответов: 3
    Просмотров: 2962
    Последний ответ 26.01.2020, 21:03:12
    от ach
    OSMap и архивные материалы

    Автор x1

    Ответов: 1
    Просмотров: 2768
    Последний ответ 04.12.2019, 23:11:07
    от Kostelano