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

Ielts

  • Захожу иногда
  • 356
  • 3 / 13
Title и H1 в логотипе
« : 19.06.2012, 02:14:10 »
Облазил все.
Не могу найти где прописывается "title" и устанавливается "h1" для логотипа на этой странице :
ygbeton.ru
В тайтле прописано "админ", что не есть хорошо

Подскажите please !
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Title и H1 в логотипе
« Ответ #1 : 19.06.2012, 02:58:05 »
Встречал уже это недоразумение от ZT. Смотрите index.php Или, если фреймворк там, layouts/. h1 вообще убирайте, замените на div
*

Ielts

  • Захожу иногда
  • 356
  • 3 / 13
Re: Title и H1 в логотипе
« Ответ #2 : 19.06.2012, 12:56:31 »
Встречал уже это недоразумение от ZT. Смотрите index.php Или, если фреймворк там, layouts/. h1 вообще убирайте, замените на div

Спасибо. Нашел в "layouts"
А вот с "h1" не понял ! Что значит  "вообще убирайте" ?
А как же SEO ?
Согласен что в этом конкретном примере "h1" не нужен. Поясните почему  "вообще убирать".

И что значит "заменить на div" ?
Там и так разметка дивами. Вот пример кода :

                <div id="zt-logo">
<h1 class="zt-logo"><a class="png" href="<?php echo $ztTools->baseurl() ; ?>" title="<?php echo $ztTools->sitename(); ?>">
<span><?php echo $ztTools->sitename() ; ?></span></a>
</h1>
      </div>

Какое отношение "h1" имеет к разметке дивами ?
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Title и H1 в логотипе
« Ответ #3 : 19.06.2012, 17:50:20 »
Потому что для "село" это как раз таки и не есть гут. Так же и на h2 менять не надо. У страницы может быть лишь один заголовок h1. В html5 допускается несколько h1 в разных секциях, но все они будут восприниматься согласно своей структуре и иерархии. Как h1 будет воспринят лишь самый первый на странице заголовок, последующие будут восприняты как h2-h3 и т.д., независимо от того, что все они h1. Для лучшей индексации h1 должно быть заголовком страницы, ее названием. Не логотипом сайта, а именно названием страницы, например "Каталог продукции".
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Title и H1 в логотипе
« Ответ #4 : 19.06.2012, 19:28:21 »
Цитировать
Потому что для "село" это как раз таки и не есть гут. Так же и на h2 менять не надо.
А чем плохо h2 в лого? Хочу продвигать сайт по главной странице. В лого - текст (ключевик).
Создание сайтов, шаблонов, помощь в решении проблем.
*

Ielts

  • Захожу иногда
  • 356
  • 3 / 13
Re: Title и H1 в логотипе
« Ответ #5 : 19.06.2012, 20:50:14 »
Потому что для "село" это как раз таки и не есть гут. Так же и на h2 менять не надо. У страницы может быть лишь один заголовок h1. В html5 допускается несколько h1 в разных секциях, но все они будут восприниматься согласно своей структуре и иерархии. Как h1 будет воспринят лишь самый первый на странице заголовок, последующие будут восприняты как h2-h3 и т.д., независимо от того, что все они h1. Для лучшей индексации h1 должно быть заголовком страницы, ее названием. Не логотипом сайта, а именно названием страницы, например "Каталог продукции".
В принципе все правильно сказано кроме  "h2"
Я ведь изначально и поднял вопрос убрать "h1" именно из лого а не "вообще" как Вы сказали.
Просто будьте внимательны в категоричных  выражениях :-)
А вот с "h2" вполне можно, т.к. "h2" позволяется использовать более 1 одного раза, т.к. и h3, h4 ...
*

Ielts

  • Захожу иногда
  • 356
  • 3 / 13
Re: Title и H1 в логотипе
« Ответ #6 : 19.06.2012, 21:01:38 »
А чем плохо h2 в лого? Хочу продвигать сайт по главной странице. В лого - текст (ключевик).

Совершенно ничего плохого, только как правило лого это картинка, поэтому нам текст только а "альтах" может быт, а вот если лого еще и текстовый, тогда еще лучше...
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Title и H1 в логотипе
« Ответ #7 : 19.06.2012, 21:08:54 »
Потому что h2 по логике DOM должен располагаться ниже h1
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Title и H1 в логотипе
« Ответ #8 : 21.06.2012, 11:06:20 »
Потому что h2 по логике DOM должен располагаться ниже h1
Логично, блин. :)
Создание сайтов, шаблонов, помощь в решении проблем.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Title и H1 в логотипе
« Ответ #9 : 21.06.2012, 11:46:19 »
Чтобы H1 был выше H2, нужно начинать страницу с контента, а шапку потом ставить спозиционировав абсолютно.
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Title и H1 в логотипе
« Ответ #10 : 21.06.2012, 11:51:39 »
Чтобы H1 был выше H2, нужно начинать страницу с контента, а шапку потом ставить спозиционировав абсолютно.
Ага. Тоже вариант. И очень даже интересный. И тоже, блин, логично :) А если h2 после h3 идти будет, это не противоречит логике DOM?
Создание сайтов, шаблонов, помощь в решении проблем.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Title и H1 в логотипе
« Ответ #11 : 21.06.2012, 11:57:37 »
Efanych, да тоже нежелательно. Но такое сложно представить. Обычно H1 - компонентхедер, H2 - контентхедер (например в блоге), H3 - важные для индексации заголовки модулей. При любой разметке, всегда можно пустить первым контент. На худой конец (например при динамической высоте хедера и футера) можно использовать display:table-cell и разнести как угодно. Это не тоже самое, что верстать таблицами
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Title и H1 в логотипе
« Ответ #12 : 21.06.2012, 12:00:47 »
Я как-то не задумывался, но ведь очень часто левая колонка c модулями (h3) находится в коде выше контента (h1, h2)
Создание сайтов, шаблонов, помощь в решении проблем.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Title и H1 в логотипе
« Ответ #13 : 21.06.2012, 12:04:14 »
С колонками то вообще элементарно. Все три колонки (левая, правая, контент) сносим флоатом влево. Для левой отрицательный маржин 100%, для правой = -ширина_колонки. Оки, наложили друг на друга. Причём порядок следования неважен. Теперь вкладываем в контентный блок ещё один с паддингом равным ширине колонки и НЕфлоатим. Ок, вроде всё готово. Последний шртих: расставляем z-index, где надо.
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Title и H1 в логотипе
« Ответ #14 : 21.06.2012, 12:19:46 »
Я немного не так делаю (знаю как сделать, не делаю), но это не важно.  Я о том, насколько эта очерёдность вообще важна. Зашёл на главную яндекса - h2 и h3 чередуются. Никакого порядка нет
Создание сайтов, шаблонов, помощь в решении проблем.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Title и H1 в логотипе
« Ответ #15 : 21.06.2012, 12:25:16 »
Это я хз, только интуитивно + указания СЕОшника, если заказчик таковой, как в случае с Воландом, например.
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Title и H1 в логотипе
« Ответ #16 : 21.06.2012, 12:31:27 »
Понятно. Не придавал раньше значения, а ведь действительно, контент повыше колонок и хедера - это неплохой бонус (как минимум, по крайней мере хуже уж точно не будет). Буду теперь так и верстать.
P.S. А как в случае с тегоми <header>, ничего, если он после контента идти будет?
Создание сайтов, шаблонов, помощь в решении проблем.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Title и H1 в логотипе
« Ответ #17 : 21.06.2012, 12:34:49 »
"чего". :) хедер к потоку контента не имеет отношение. Не надо его трогать. После тэга <body> балуемся-тусуем как угодно блоки.
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Title и H1 в логотипе
« Ответ #18 : 21.06.2012, 12:38:34 »
  :laugh:Ну, спасибо...
Я про тег html5
Создание сайтов, шаблонов, помощь в решении проблем.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Title и H1 в логотипе
« Ответ #19 : 21.06.2012, 12:40:41 »
Ой, я про <head> подумал. :)) А я ещё не верстаю в HTML5. Знаю, что там есть article, menu, nav и прочие няшки, но всё пока руки не доходят до html5.
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Title и H1 в логотипе
« Ответ #20 : 21.06.2012, 12:48:28 »
Цитировать
А я ещё не верстаю в HTML5
Я тоже. Так на будущее спросил. Поидее он над контентом должен быть, раз так и называется. :)
Создание сайтов, шаблонов, помощь в решении проблем.
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: Title и H1 в логотипе
« Ответ #21 : 21.06.2012, 15:42:07 »
Я о том, насколько эта очерёдность вообще важна. Зашёл на главную яндекса - h2 и h3 чередуются. Никакого порядка нет
в Web Developer есть удобная штука - Оглавление документа, она покажет косяки.
И заголовки сквозных модулей лучше не брать в h3
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Title и H1 в логотипе
« Ответ #22 : 21.06.2012, 15:46:18 »
ELLE, где? Чёт не могу найти. Я пользуюсь Опера -> Режим автора.
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: Title и H1 в логотипе
« Ответ #23 : 21.06.2012, 15:53:24 »
он у меня в FF стоит
[spoiler title=скрин][/spoiler]
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Title и H1 в логотипе
« Ответ #24 : 21.06.2012, 16:02:51 »
+1. Полезная фича. Взял на вооружение.
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: Title и H1 в логотипе
« Ответ #25 : 21.06.2012, 16:05:30 »
Да, респект тому кто разработал, собственно FF включаю только ради этого расширения, крайне удобно работать, все наглядно :)
Жаль для Хрома нет, там кажется функционал сильно ограничен и перевода нет((
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Title и H1 в логотипе
« Ответ #26 : 21.06.2012, 16:55:43 »
А это для html5, где не все так однозначно со структурирующими контент тэгами.
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Title и H1 в логотипе
« Ответ #27 : 21.06.2012, 16:59:13 »
Логично, блин. :)
Вполне логично. :) Да только не смешно. Довольно часто такое встречается. А весной мне тут упорно один человек доказывал, что хтмл5 допускает несколько заголовков первого уровня, потому все они на странице будут иметь равное значение.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Title и H1 в логотипе
« Ответ #28 : 21.06.2012, 17:02:04 »
Вполне логично. :) Да только не смешно. Довольно часто такое встречается. А весной мне тут упорно один человек доказывал, что хтмл5 допускает несколько заголовков первого уровня, потому все они на странице будут иметь равное значение.
Не будем говорить кто, намекнём, что ник его оканчивается на мягкий знак. :) К слову, знатный спорщик, я даже чуть не поверил. О_о
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Title и H1 в логотипе
« Ответ #29 : 21.06.2012, 17:10:39 »
Не будем говорить кто, намекнём, что ник его оканчивается на мягкий знак. :) К слову, знатный спорщик, я даже чуть не поверил. О_о
Дадада :) Даже минус мне за это тогда влепил. Но это мелочи. Впрочем этот человек уже пару месяцев как перестал давать "вредные советы" и сейчас стал вполне адекватным коллегой)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] title материалов и категорий без пунктов меню

Автор pharaoh

Ответов: 269
Просмотров: 63286
Последний ответ 03.02.2022, 02:45:26
от globus812
Как сделать нормальные заголовки страниц (title)?

Автор alienshooter

Ответов: 42
Просмотров: 33978
Последний ответ 29.10.2018, 21:36:14
от Elena91
Разделитель в название сайта в title

Автор karsalex

Ответов: 16
Просмотров: 7363
Последний ответ 17.07.2017, 23:24:55
от Mihalych
И всё-таки снова про мета-тег title на главной странице сайта!

Автор ezheck

Ответов: 4
Просмотров: 13621
Последний ответ 24.12.2015, 19:41:46
от voland
посоветуйте решение для разделения title и h1

Автор zveregg

Ответов: 13
Просмотров: 1595
Последний ответ 24.10.2015, 21:17:07
от zveregg