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

korkka44

  • Захожу иногда
  • 194
  • 1 / 0
Медленная генерация страницы что делать? включила JCH Optimize... особо не помогает...очень много скриптов в шаблоне и CSS файлов...может подскажете как это можно оптимизировать?
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
JCH Optimize прилично замедляет сайт это раз.  Два сначала облегчаем сайт лишние модули плагины долой. Затем врубаем кеширование и сжатие, лучше серверными средствами. Потом уже чистим шаблон, лучше иметь свой шаблон чем студийный ибо его легче оптимизировать.
Но это так абстрактные рекомендации ибо оптимизация сайта зависит от самого сайта, некоторых пациентов вообще легче с 0 собрать чем оптимизировать.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

korkka44

  • Захожу иногда
  • 194
  • 1 / 0
Re: Медленная генерация страницы как лечить?
« Ответ #2 : 15.08.2017, 23:08:45 »
спасибо сегодня буду тестировать....
*

korkka44

  • Захожу иногда
  • 194
  • 1 / 0
так это не компонент ведь?
*

wishlight

  • Гуру
  • 5051
  • 314 / 1
  • От 300 руб быстрый хостинг. Сервера.
Нет. Без навыков программирования вы в нем не разберетесь. Поотключайте лишнее и возьмите железо покруче, если не разбираетесь. Или наймите кого нибудь.
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
так это не компонент ведь?
Ну так с компонентам или любым из расширений об оптимизации не бывает разговоров используете как есть из коробки. Выше вам дали совет по пунктам это так: 1 железо, 2 настройки.
*

vad78

  • Захожу иногда
  • 101
  • 0 / 0
Сегодня была моя вторая попытка захода в jch optimize бесплатная версия.
При настройке всех правильных параметров (в подробности вдаваться долго), результаты PageSpeed Insights на 10-15 % хуже и для мобильной и ПК версии.  В некоторых вариантах настроек просто те же результаты что и без jch optimize.
Нечего не могу понять. 
*

wishlight

  • Гуру
  • 5051
  • 314 / 1
  • От 300 руб быстрый хостинг. Сервера.
Все просто. Сжатие и объедение - дополнительные операции. Они грузят процессор. Все.
*

vad78

  • Захожу иногда
  • 101
  • 0 / 0
Все просто. Сжатие и объедение - дополнительные операции. Они грузят процессор. Все.
Я просто не пойму до сих пор, если в нём толк какой то в этом jch optimize ?
*

wishlight

  • Гуру
  • 5051
  • 314 / 1
  • От 300 руб быстрый хостинг. Сервера.
Ну выполняя нетребовательные операции или с выделенным мощным процом толк может быть.
*

vad78

  • Захожу иногда
  • 101
  • 0 / 0
Все просто. Сжатие и объедение - дополнительные операции. Они грузят процессор. Все.
Я насколько понимаю или недопонимаю что в моём случае надо что то решить с асинхронной загрузкой скриптов, и может неправильно назову ( загрузка только отображаемой части страницы )  технология AJAX вроде.
Поправьте или подскажите  как  выйти из положения?  jch optimize  проверенно мне только вредит.  Сайт не большой.
*

ProtectYourSite

  • Живу я здесь
  • 2364
  • 137 / 4
  • Безопасность вебсайтов
Оптимизировать код и правильно настраивать. По вашей скучной информации сложно что-то больше сказать. Если путаете AJAX с отложенной загрузкой скриптов, то может стоит нанять специалистов.
*

korkka44

  • Захожу иногда
  • 194
  • 1 / 0
уже давно оптимизировано, спасибо за ответ
*

korkka44

  • Захожу иногда
  • 194
  • 1 / 0
Я просто не пойму до сих пор, если в нём толк какой то в этом jch optimize ?
у меня скорость сайта после прошки увеличилась..все функции повключала, но главное чтобы шаблон был адаптивный под это
*

lexxbry

  • Живу я здесь
  • 2387
  • 68 / 8
Все функции jch  почти все можно через htaccess прописать
SEO-оптимизация,продвижение
Создание и сопровождение сайтов на Joomla
Миграция
*

vad78

  • Захожу иногда
  • 101
  • 0 / 0
Оптимизировать код и правильно настраивать. По вашей скучной информации сложно что-то больше сказать. Если путаете AJAX с отложенной загрузкой скриптов, то может стоит нанять специалистов.
Я и не претендовал на звание гуру,  а всего лишь спросил совет. Расписывать подробности огромной простынёй если это никому не интересно, не вижу смысла.
А специалистов нанимать мне не к чему, так как всё делал сам ( в процессе учусь).
Также любой из спецов не рождается с этими знаниями, и вначале тоже думаю много чего путают (не всё сразу).
До отложенной загрузки я ещё не добрался, и так голова закипает от массива информации которую начал осваивать пока что год.
*

vad78

  • Захожу иногда
  • 101
  • 0 / 0
у меня скорость сайта после прошки увеличилась..все функции повключала, но главное чтобы шаблон был адаптивный под это
Ясно, это разъясняющая информация.
Шаблон адаптивный,  допиливал сам родной protostar,  всё работает адекватно на всех устройствах.
Подозреваю что по большей части успех в версии PRO  зависит от опции: (Загружать JavaScript
асинхронно Only available in Pro Version!)
« Последнее редактирование: 22.06.2018, 05:34:38 от vad78 »
*

ProtectYourSite

  • Живу я здесь
  • 2364
  • 137 / 4
  • Безопасность вебсайтов
Или купить про версию, или искать бесплатные аналоги, к примеру,  https://joomline.ru/rasshirenija/plugin/jscssmanipulate.html
*

vad78

  • Захожу иногда
  • 101
  • 0 / 0
Или купить про версию, или искать бесплатные аналоги, к примеру,  https://joomline.ru/rasshirenija/plugin/jscssmanipulate.html
Вот за это реально Спасибо! *DRINK*  Так как и планировал позже найти подобный плагин, протестирую обязательно!
Платные версии в моём случае нецелесообразны так как сайт эти затраты не окупит.

Да! и!  Что думаете? :перед установкой Js Css Manipulate,  плагин  jch optimize лучше наверно деинсталлировать   и удалить все каталоги которые вдруг останутся  от плагина + почистить БД при необходимости .  То есть чтоб данный плагин не оставался в качестве бесполезного мусора, и чтоб не было конфликта в том же htaccess
Также код в htaccess от jch optimize надо удалять в ручную насколько помню.
« Последнее редактирование: 22.06.2018, 11:09:23 от vad78 »
*

vad78

  • Захожу иногда
  • 101
  • 0 / 0
Или купить про версию, или искать бесплатные аналоги, к примеру,  https://joomline.ru/rasshirenija/plugin/jscssmanipulate.html
Вечер добрый!  Добрался до  jscssmanipulate,  тестирую. 
Вопрос: не совсем понятно мне почему добавленный скрипт исчезает в исходном коде при настройке  Минимизировать?
Если без "Минимизировать" , то всё адекватно перемещается вниз при назначении соответствующего чекбокса   .
И такой вопрос :  можно ли одновременно задавать оба атрибута  Defer и Async? , если да  то если в этом целесообразность?   
*

wishlight

  • Гуру
  • 5051
  • 314 / 1
  • От 300 руб быстрый хостинг. Сервера.
Defer-перенос Async-Асинхронная загрузка. В принципе есть.
*

vad78

  • Захожу иногда
  • 101
  • 0 / 0
Defer-перенос Async-Асинхронная загрузка. В принципе есть.
Если верить настройкам то это не совсем так,  не настаиваю так как javascript  ещё не изучил.
Проверил, я прав.  Без Defer и Async ,  проставлен только  чекбокс переместить вниз , скрипт оказывается внизу кода.
Следовательно за перемещение вниз кода отвечает что то другое и никак не Defer и Async.
Какие будут мысли?
Так выглядит скрипт внизу без каких либо атрибутов
Код
</div>
</footer>

<script src="/media/jui/js/jquery.min.js"></script>
</body>
</html>

« Последнее редактирование: 25.06.2018, 21:37:29 от vad78 »
*

ProtectYourSite

  • Живу я здесь
  • 2364
  • 137 / 4
  • Безопасность вебсайтов
За перемещение вниз отвечает переместить вниз, defer и async это асинхронная загрузка,  про разницу можно в интернете почитать.
*

vad78

  • Захожу иногда
  • 101
  • 0 / 0
За перемещение вниз отвечает переместить вниз, defer и async это асинхронная загрузка,  про разницу можно в интернете почитать.
defer - это отложенная загрузка,   async это асинхронная загрузка.
При назначении только defer  скрипт остаётся на своём месте в head
« Последнее редактирование: 25.06.2018, 23:46:06 от vad78 »
*

vad78

  • Захожу иногда
  • 101
  • 0 / 0
Продолжение истории: jscssmanipulate с разными вариациями настроек никак не повлиял не положительно не отрицательно, перенос скриптов вниз и т. д. -всё пустое.
 Удалось догнать страницы в PageSpeed Insights до показателей от 85 до 95 баллов только дополнительным сжатием изображений с помощью того же PageSpeed Insights , оказалось что сервис tinypng некоторые изображения не дожал.
Потратил 2 дня на изучение и настройку JCH Optimize и JotCache   в паре, после чего показатели ухудшились на 3-5 единиц в основном для мобильных.
Перепробовал множество настроек (в подробности вдаваться не буду долго и не к чему)
Сайт небольшой, не понимаю тогда смысл в этих всех плагинах(, как то уже закрались сомнения что они приносят положительный результат.
И ещё один момент который даже не представляю как решить :  на главной странице находятся виджеты  facebook и twitter, так вот PageSpeed Insights  захватывает из них изображения которые предлагает  сжать ( что разумеется невозможно).
Есть какое либо решение этой проблемы?

« Последнее редактирование: 03.07.2018, 22:14:20 от vad78 »
*

ProtectYourSite

  • Живу я здесь
  • 2364
  • 137 / 4
  • Безопасность вебсайтов
Забить, надо понимать,  что надо делать,  а не гнаться за 100
*

vad78

  • Захожу иногда
  • 101
  • 0 / 0
Забить, надо понимать,  что надо делать,  а не гнаться за 100
Ну мне в любом случае надо было разобраться для себя, как говорится пока сам шишки не набьёшь трудно понять что по чём)

Всё таки вопрос:  реально есть ощутимо положительные результаты от данных плагинов на других примерах?

Смотрел несколько курсов по данным плагинам,  там более менее сладко всё выглядит  но ! - есть одно важное но ! что тестовые сайты практически не наполнены особо контентом, потому конечно видны положительные результаты.
« Последнее редактирование: 03.07.2018, 22:51:58 от vad78 »
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Тут важно понимать, что на работу плагинов тоже тратится время. Иногда оказывается, что его тратится больше, чем получается выигрыша. Особенно на слабом хостинге.

Ну и частая ошибка новичков, с которой я тоже сталкивался - это упороться по оптимизации сайта, т.к. это интересно и увлекательно, но забить на наполнение контентом. При этом ожидать от поисковиков, что народ попрет пачками, стоит чуть ускорить сайт.

Но этого не будет. По сути там важно проверить ответ сервера. Он показывается в панели вебмастера Google и это не спроста. Ну и сделать самые основные советы, по типу сжать картинки.

Фанатизмом страдать не надо. Проверьте сайты Google и убедитесь, что они сами не следуют рекомендациям Pagespeed insight
*

vad78

  • Захожу иногда
  • 101
  • 0 / 0
Тут важно понимать, что на работу плагинов тоже тратится время. Иногда оказывается, что его тратится больше, чем получается выигрыша. Особенно на слабом хостинге.

Ну и частая ошибка новичков, с которой я тоже сталкивался - это упороться по оптимизации сайта, т.к. это интересно и увлекательно, но забить на наполнение контентом. При этом ожидать от поисковиков, что народ попрет пачками, стоит чуть ускорить сайт.

Но этого не будет. По сути там важно проверить ответ сервера. Он показывается в панели вебмастера Google и это не спроста. Ну и сделать самые основные советы, по типу сжать картинки.

Фанатизмом страдать не надо. Проверьте сайты Google и убедитесь, что они сами не следуют рекомендациям Pagespeed insight

Тут и возразить нечего), похоже я это уже начал понимать, плагины эти ффтопку (деинсталлирую ),  без них лучше было это факт.
Изображения уже лучше некуда, значит на этом и остановимся ^-^
Спасибо за подтверждение что дальше не стоит ломать голову  *DRINK*
« Последнее редактирование: 03.07.2018, 23:44:22 от vad78 »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Перенести описание категории вниз страницы

Автор jimka

Ответов: 1
Просмотров: 918
Последний ответ 18.07.2024, 08:02:46
от Vastriet
Шаблон для данной страницы недоступен. сообщите об этом Администратору сайта

Автор 62411

Ответов: 2
Просмотров: 1151
Последний ответ 30.03.2024, 13:15:16
от web1
Как установить header Cache-Control только для одной страницы по URL?

Автор Slava77

Ответов: 0
Просмотров: 817
Последний ответ 23.03.2024, 00:16:36
от Slava77
Как вставить модуль в код нужной страницы php?

Автор zvi

Ответов: 9
Просмотров: 4668
Последний ответ 21.02.2024, 11:03:08
от saynez
Долго грузятся страницы категорий

Автор SuperRomario

Ответов: 4
Просмотров: 1820
Последний ответ 03.07.2023, 17:59:07
от Wood