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

Zyklonss

  • Осваиваюсь на форуме
  • 24
  • 2 / 0
Ситуация такова: имею сайт на Joomla(1.5.9)- каталог фирм и предприятий (на sobi) и доска объявлений (marketplace)+ sh404SEF.
Обратился к кодеру по поводу некоторых доработок сайта: несколько решений в плане seo, обновление движка и компонентов сайта до актуальных версий. Кое-то из решений в плане seo человек решил, а вот обновить движок, что бы работали все компоненты нормально у него не получилось. Я обращался ещё к одному спецу по Joomla- максимум движок получилось обновить, что бы всё работало, до версии 1.5.26.
Так вот, кодеру за часть работы я заплатил и по его просьбе оплатил работу по обновлению движка вперёд. После этого он пропал на долгое время (был в больнице) и в итоге сказал, что обновиться так не получится.
Сейчас от него поступило предложение: в качестве компенсации за невыполненную работу и оплату вперёд, он может бесплатно перенести мой сайт на Битрикс (тариф старт), лицензия мне не будет стоить ничего (он партнёр). Также обещает реализацию средствами движка всех моих нереализованных требований в плане seo, доски объявлений и каталога. Ещё он обещает, что общая структура сайта и урлов будет сохранена.
Есть несколько вопросов:
1. Какие есть подводные камни в моём случае?
2. Всё ли так, как обещает кодер?
3. Получается, что я при активации лицензии могу воспользоваться нужными мне компонентами и обновить их, а дальше могу пользоваться сайтом и этими компонентами без продления лицензии, а продлить уже когда захочу (хоть через год, хоть через три)?
4. У меня сейчас сайт на обычном виртуальном хостинге. Хватает ли этого или, как пишут некоторые, необходимо иметь выделенный сервер - сервер?
5. Смогу ли я (если мне что-то не понравится) впоследствии обратно перевести сайт на Joomla, насколько это сложно в исполнении?
Спасибо за советы!
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
1. Урлы он не сохранит, а значит проседание позиций итп
Битрикс жутко прожорлив и требователен к хостингу
Доработки под него как правило на порядок дороже.

5. Сложно, но можно не трогать текущий сайт (сделать бэкап)
*

Zyklonss

  • Осваиваюсь на форуме
  • 24
  • 2 / 0


5. Сложно, но можно не трогать текущий сайт (сделать бэкап)
Я в том плане, что если я уже начну работать на Битриксе, а информация на сайт добавляется постоянно, то смогу как-то импортироваться обратно?
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Я в том плане, что если я уже начну работать на Битриксе, а информация на сайт добавляется постоянно, то смогу как-то импортироваться обратно?
нет
*

Гриша Грефман

  • Новичок
  • 2
  • 0 / 0
Автор, поделитесь, чем все закончилось? Сейчас встал вопрос об бобратной операции, нужно перенести http://novomoscow.ru/ с bitrix на Joomla. Битрикс в плане SEO совершенно неподходит. Сам сайт написан на кастумных компонентах.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
@Гриша Грефман
1) автор топика вряд ли вам ответит спустя 4 года ))
2) перенос с битрикса на Joomla выглядит примерно так: создаете новый сайт на Joomla и ручками переносите контент... вы рады?
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
2) перенос с битрикса на Joomla выглядит примерно так: создаете новый сайт на Joomla и ручками переносите контент... вы рады?
Ну да зачем писать день часа парсер, который все сделает за пару минут, проще же ручками пол года переносить...
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Ну да зачем писать день часа парсер, который все сделает за пару минут, проще же ручками пол года переносить...
иногда (а это часто) структура контента такова, что парсер писать придется не один день. Особенно если магазин с кучей категорий, товаров, атрибутов, связок и тд. Может у них на битриксе лендинг с тремя материалами - проще руками.

Цитировать
Битрикс в плане SEO совершенно неподходит
Вот этого я вообще не понимаю, проставить нужные заголовки и тексты движок не позволяет? Бред. Микроразметку внедрить - тоже можно. В общем заявление бред.
Битрикс тяжелый это факт, но в плане SEO любой движок позволяет сделать что требуется и мигрировать работающий проект только из-за SEO значит признать, что люди, заведующие сайтом представляют из себя полный ноль
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
иногда (а это часто) структура контента такова, что парсер писать придется не один день. Особенно если магазин с кучей категорий, товаров, атрибутов, связок и тд. Может у них на битриксе лендинг с тремя материалами - проще руками.
В любом случае это в сотни раз быстрее чем ручками...
*

Missile

  • Завсегдатай
  • 1116
  • 90 / 1
В Битриксе, емнип, есть специальный SEO-модуль, и он довольно хорошо справляется с оптимизацией. Да и без этого там в последних версиях внедрили довольно много сеошных инструментов.
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
В Битриксе, емнип, есть специальный SEO-модуль, и он довольно хорошо справляется с оптимизацией. Да и без этого там в последних версиях внедрили довольно много сеошных инструментов.
судя по посту проблема в том что:
Сам сайт написан на кастумных компонентах
и вполне возможно что SEO модули без танцов с бубном не прилепить...
*

Гриша Грефман

  • Новичок
  • 2
  • 0 / 0
судя по посту проблема в том что:  и вполне возможно что SEO модули без танцов с бубном не прилепить...

Верно! Изначально проблема в архитектуре! Спасибо руко...опу программисту, который все сделал на кастуме! проще перенести, чем разбираться во всем этом аде! А т.к бэкапы, в данный момент, не возможно сделать, приходиться думать об оперативном переносе. Проблема даже с изменением мета...
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
проще перенести, чем разбираться во всем этом аде!
Чтобы перенести на Joomla, все равно нужно разбираться в коде, который сделан.
А кастом компоненты в Битрикс- это нормальная практика для кодера Битрикса, как и создание плагинов в Joomla .Имхо.
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
ну например у меня была недавно задача что ссылки в URL должны быть с нижним подчеркиванием, а не с тире, почему? да потому что одна бабка на лавочке ему сказала что такие сайты лучше индексируются, и как без хака ядра это делать?
Плагином.

Тут всё проще,  надо смотреть по задаче, и бюджету.. если надо сделать сайт и забыть, то сделать на CMS с кучей всякого трешового компонента, работает и отлично,
если же нужно делать сайт с длительной поддержкой и постоянными улучшениями/доработками, то идеально брать фреймворк!
Тоже спорно. Найти админа на CMS куда проще и долгострочно перспективе по канону написангый сайт на CMS куда легче поддерживать.

Вообще у фреймов есть главный плюс.
Нет ничего лишнего и ты собираешь только то что нужно. В CMS же все отключить не получиться.

В остальном разницы нет ни какой. Поэтому оптимальный вариант CMS на известной фрейморке =)
Но я люблю Joomla и меня прет на ней что-то писать. Возможно сам факт доказывания что это можно без труда написать под Joomla - это дополнительный стимул.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla vs Wordpress

Автор Angela_

Ответов: 212
Просмотров: 43251
Последний ответ 07.09.2023, 19:14:57
от wishlight
Не выпилить ли завязанный на меню Joomla-роутинг?

Автор robert

Ответов: 0
Просмотров: 2748
Последний ответ 26.11.2020, 00:21:13
от robert
За что не любят Joomla?

Автор EvgeniyAL

Ответов: 133
Просмотров: 30829
Последний ответ 14.09.2019, 20:35:21
от dmitry_stas
Еще раз вопрос по поводу Joomla и Modx - нужны аргументы, чтобы отбиться

Автор busik

Ответов: 25
Просмотров: 4073
Последний ответ 02.09.2019, 17:46:38
от passer
joomla+communitybuilder vs instant cms

Автор olega1980

Ответов: 30
Просмотров: 25301
Последний ответ 08.07.2019, 00:34:56
от balck