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

Astar_Blaze

  • Новичок
  • 9
  • 0 / 0
Доброго времени суток. Помогите решить проблему. Есть сайт http://exclusive-kursk.ru/, сделан мною на шаблоне yj youstudio. Возникла проблема такого рода - в поисковике вазнание сайта выглядит как  - "Главная". Нужно чтобы было Эксклюзив-Авто Курск. Уже все перепробовал, в самой Joomla название сайта, такое, как надо, но в поисковике все рано эта вездесущая Главная. Причем если искать по ключевым словам "эксклюзив авто курск", то сайт находится на первой позиции, а остальные сайты, которые идут после, указывают верное имя сайта, возможно это связано с тем, что раньше на этом домене висела одностраничный HTML сайт.
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Re: Нужно изменить имя сайта в поиске
« Ответ #1 : 24.03.2014, 13:11:07 »
Отредактируйте в пункте меню, который у вас главный. Там задаётся заголовок и мета-теги.
*

Astar_Blaze

  • Новичок
  • 9
  • 0 / 0
Re: Нужно изменить имя сайта в поиске
« Ответ #2 : 24.03.2014, 13:18:40 »
Отредактируйте в пункте меню, который у вас главный. Там задаётся заголовок и мета-теги.
Если я меняю заголовок главной страницы, то меняется заголовок пункта меню, а в поиске все равно остается - Главная.
Если в настройках пункта меню в параметрах отображения страницы вписать Эксклюзив-Авто Курск, то это ничего не меняет(
*

Sairus2117

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: Нужно изменить имя сайта в поиске
« Ответ #3 : 24.03.2014, 13:35:15 »
Попробуй в общих настройках сайта прописать - Мета-тег Description и в меню там где у тебя главная тоже можно прописать Мета-тег Description. И как у тебя настроена главная страница? Сделай избранные материалы, а избранный материал назови как хочешь чтоб в поиске отображался и в самом материале пропиши Мета-тег Description.
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Нужно изменить имя сайта в поиске
« Ответ #4 : 24.03.2014, 16:47:26 »
Если я меняю заголовок главной страницы, то меняется заголовок пункта меню, а в поиске все равно остается - Главная.
Если в настройках пункта меню в параметрах отображения страницы вписать Эксклюзив-Авто Курск, то это ничего не меняет(
*

Astar_Blaze

  • Новичок
  • 9
  • 0 / 0
Re: Нужно изменить имя сайта в поиске
« Ответ #5 : 24.03.2014, 17:26:24 »
Попробуй в общих настройках сайта прописать - Мета-тег Description и в меню там где у тебя главная тоже можно прописать Мета-тег Description. И как у тебя настроена главная страница? Сделай избранные материалы, а избранный материал назови как хочешь чтоб в поиске отображался и в самом материале пропиши Мета-тег Description.
Ну вообще сайт всего из 4 страниц состоит - главная, услуги, контакты, о компании. На главной только слайдер изображений, на всех остальных по одному материалу. В общих настройках сайта указывал имя сайта, но сайт в поиске отображается - Главная. Включил название сайта в заголовок страницы, не помогло. В настройках главной страницы менял настройки в параметрах отображения страницы, прописывал там заголовок Эксклюзив-Авто Курск, не помогло. Так же смущает, чот Яндекс пишет - найден по ссылке...
*

Astar_Blaze

  • Новичок
  • 9
  • 0 / 0
Re: Нужно изменить имя сайта в поиске
« Ответ #6 : 24.03.2014, 17:30:32 »

да, тут тоже прописывал имя сайта, но ничего не изменилось.
*

Astar_Blaze

  • Новичок
  • 9
  • 0 / 0
Re: Нужно изменить имя сайта в поиске
« Ответ #7 : 24.03.2014, 17:34:42 »
Хотелось бы немного уточнить. Я не то, что профессионал, я даже не любитель. Просто получил задание от начальства сделать сайт для одной из дочерних фирм. Делал долго, потому что не знал абсолютно ничего, все пришлось читать в нете и сейчас многие вещи не кажутся мне очевидными, не серчайте на меня за, возможно, глупые вопросы.
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Нужно изменить имя сайта в поиске
« Ответ #8 : 24.03.2014, 17:35:18 »
Что не изменилось? Каша на дорогах или власть?
Заголовок в браузере меняется, если нет - то после чистки кэша, а ничего нас тут мало интересует.
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Нужно изменить имя сайта в поиске
« Ответ #9 : 24.03.2014, 17:36:00 »
Хотелось бы немного уточнить. Я не то, что профессионал, я даже не любитель. Просто получил задание от начальства сделать сайт для одной из дочерних фирм. Делал долго, потому что не знал абсолютно ничего, все пришлось читать в нете и сейчас многие вещи не кажутся мне очевидными, не серчайте на меня за, возможно, глупые вопросы.
Надо было сразу сказать, может хоть забанили бы.. :-(
*

Astar_Blaze

  • Новичок
  • 9
  • 0 / 0
Re: Нужно изменить имя сайта в поиске
« Ответ #10 : 24.03.2014, 17:54:42 »
Что не изменилось? Каша на дорогах или власть?
Заголовок в браузере меняется, если нет - то после чистки кэша, а ничего нас тут мало интересует.
Заголовок в браузере не изменился, после чистки кэша тоже.
Надо было сразу сказать, может хоть забанили бы.. :-(
Ничто не мешает это сделать сейчас.
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Re: Нужно изменить имя сайта в поиске
« Ответ #11 : 25.03.2014, 00:05:00 »
В стандартном варианте это работает. Но мы же не знаем кто в вашем шаблоне или движке чего напрограмировал.
Кстати, а какая у вас должность на вашей работе? В должностных обязанностях что-то сказано про сайты для дочерних фирм?
А то сегодня им сайты делай, а завтра кофе будете готовить.
Да и с Joomla нафига так замахиваться. Есть же онлайн-конструкторы всякие...
Подсказываю, как поступить в следующий раз:
- Вася, тыж програмист, давай ты дочерней фирме сайт сделаешь?
- Без проблем босс, оплачиваете курс повышения квалификации, обучение, проживание, командировачные. Я получаю сертификаты вебдизайнера, HTML и php, и сразу приступаю к работе.
- Ясно, нам выгодней нанять специалиста на эту разовую работу.
Проблема решена. Отправят учиться - еще лучше.
« Последнее редактирование: 25.03.2014, 00:40:05 от ChaosHead »
*

Astar_Blaze

  • Новичок
  • 9
  • 0 / 0
Re: Нужно изменить имя сайта в поиске
« Ответ #12 : 25.03.2014, 09:29:41 »
В стандартном варианте это работает.
А не может быть проблемы со стороны самих поисковых систем? Настораживает это - Найден по ссылке: ООО "Эксклюзив-Авто Курск".
По бумагам я системный администратор, а на деле падаван админа.
В том то и дело, что все сайты заказывались раньше у сторонних разработчиков, а небольшие мелкие сайтики решили свалить на меня и сделать из меня крутого веб програмиста, курсы будут, но несколько позже. Моему начальству будет выгодней перевести меня с должности сисадмина на должность веб разработчика, а не заказывать сайты на стороне.
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Re: Нужно изменить имя сайта в поиске
« Ответ #13 : 25.03.2014, 11:01:44 »
Исходя из того, что я успеваю увидеть открывая сайт, заголовок там уже "Эксклюзив-Авто Курск". Далее антивирус видит там троян Agent.NKW и всё блокирует. За такое дело поисковики не то, что заголовок не проиндексируют, а ещё и санкции наложат.
Реально советую, если это 3-х страничные сайты, подберите проще cms, а лучше на конструкторе.
Вашему начальству будет абсолютно всё-равно, что вы их сами напишите, что на Joomla сделаете, что на конструкторе или в HTML. А без знаний, головняка будете иметь намного меньше.
*

Astar_Blaze

  • Новичок
  • 9
  • 0 / 0
Re: Нужно изменить имя сайта в поиске
« Ответ #14 : 26.03.2014, 13:49:38 »
Исходя из того, что я успеваю увидеть открывая сайт, заголовок там уже "Эксклюзив-Авто Курск". Далее антивирус видит там троян Agent.NKW и всё блокирует. За такое дело поисковики не то, что заголовок не проиндексируют, а ещё и санкции наложат.
Реально советую, если это 3-х страничные сайты, подберите проще cms, а лучше на конструкторе.
Вашему начальству будет абсолютно всё-равно, что вы их сами напишите, что на Joomla сделаете, что на конструкторе или в HTML. А без знаний, головняка будете иметь намного меньше.

очень странно, корпоративный касперский не ругается на сайт. Погуглил немного, оказалось, что проблема была в модуле слайдшоу, удалил кусок кода на который ругаются антивирусы. К сожалению начальству не все равно... У нас куча сайтов и все сделано на Joomla 2.5 и лежит на одном хостинге (тут есть список http://www.antoninagroup.ru/). У меня в браузере заголовок как надо - "Эксклюзив-Авто Курск", а вот поисковики упорно не хотят его менять.
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Re: Нужно изменить имя сайта в поиске
« Ответ #15 : 26.03.2014, 17:18:59 »
у Google в вебмастере есть кнопка переиндексировать
Яндекс - только ждать
*

Astar_Blaze

  • Новичок
  • 9
  • 0 / 0
Re: Нужно изменить имя сайта в поиске
« Ответ #16 : 26.03.2014, 17:41:00 »
у Google в вебмастере есть кнопка переиндексировать
Яндекс - только ждать
Google уже все переиндексировал сам, без вмешательства. Большое Вам спасибо за помощь.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вывести в сниппете название статьи, а потом название сайта?

Автор gorbi_U

Ответов: 0
Просмотров: 1002
Последний ответ 18.01.2022, 18:29:22
от gorbi_U
Как изменить в поисковике на сайте имя домена?

Автор alex-morebook

Ответов: 2
Просмотров: 1045
Последний ответ 20.11.2021, 17:51:48
от Byzi
Яндекс не индексирует вообще картинки с сайта

Автор Девушка с веслом

Ответов: 6
Просмотров: 1144
Последний ответ 10.05.2021, 17:21:18
от xpank
Сервис или программа для оценки позиций сайта

Автор dron

Ответов: 12
Просмотров: 7935
Последний ответ 12.03.2021, 18:02:22
от v42bis
Продвижение сайта в Москве

Автор Arenida

Ответов: 3
Просмотров: 1820
Последний ответ 08.06.2020, 10:32:03
от kostikcom