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

Maxxtele

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
У меня такая проблема.Через админку Joomla я не могу поменять название меню Joomla.И вообще что либо изменить в меню(сайт загружал с локального denwer-a)Сервер возвращает ошибку 500.Скажите,в каком из файлов можно поменять названия вручную!?
как называется файл CSS где хранятся названия меню? и прочие параметры меню?
*

midav

  • Давно я тут
  • 926
  • 115 / 1
Re: Как найти соответствующий CSS
« Ответ #1 : 06.01.2012, 23:54:27 »
Хм... Вы сами то поняли что спрашиваете ?
Но на всякий случай открою тайну , названия меню не хранятся в CSS файлах . Как и прочие параметры тоже  ;)
Ответы на вопросы по CSS . Откройте для себя Firebug
*

Maxxtele

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Re: Как найти соответствующий CSS
« Ответ #2 : 07.01.2012, 00:32:34 »
Хм... Вы сами то поняли что спрашиваете ?
Но на всякий случай открою тайну , названия меню не хранятся в CSS файлах . Как и прочие параметры тоже  ;)

Как понимаю так и спрашиваю.Умник.И на вопрос так и не ответил.
*

assaru

  • Давно я тут
  • 763
  • 88 / 1
Re: Как найти соответствующий CSS
« Ответ #3 : 07.01.2012, 10:35:23 »
1.
Через админку Joomla я не могу поменять название меню Joomla.И вообще что либо изменить в меню(сайт загружал с локального denwer-a)
А на локальном денвере менялось?
2.
Сервер возвращает ошибку 500.
Версии PHP денвера и у хостера совпадают?
3.
Скажите,в каком из файлов можно поменять названия вручную!? как называется файл CSS где хранятся названия меню? и прочие параметры меню?
Названия в файлах не хранятся, они "живут" в базе данных.
4.
Как понимаю так и спрашиваю.Умник.И на вопрос так и не ответил.
Так Вы далеко не продвинетесь. Задавайте корректный вопрос для того, чтобы Вам так же корректно ответили.
5.
Как понимаю так и спрашиваю.
Для большего "понимания" ознакомьтесь с важной информацией здесь или здесь в зависимости от Вашей версии Joomla
Проблему можно решить и по скрину и по эмоциям, счет на оплату через ЛС (с) Nobody
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Как найти соответствующий CSS
« Ответ #4 : 07.01.2012, 10:49:48 »
С вероятностью в 90% - если на денвере менялось - а на хостинге не меняется - что-то не дозалилось. Закачайте сайт архивом и распакуйте на хостинге. И проверьте права на папки.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

Pazys

  • Завсегдатай
  • 1738
  • 241 / 4
  • <a>А где я ошибся-то?</b>
Re: Как найти соответствующий CSS
« Ответ #5 : 07.01.2012, 10:58:00 »
У меня такая проблема. Через админку Joomla я не могу поменять название меню Joomla.И вообще что либо изменить в меню(сайт загружал с локального denwer-a) Сервер возвращает ошибку 500. Скажите,в каком из файлов можно поменять названия вручную!?
как называется файл CSS где хранятся названия меню? и прочие параметры меню?

Joomla на данный момент имеет 5 версий, последние три более схожи мес собой: 1 1,5 1,6 1,7 2,5 у каждой есть свои особенности.

Ваш вопрос звучит так: Если я встану на рельсы и возьмусь за провода, я поеду в центр или на окраину?

Ответы в #3 и #4

Вам надо почитать книгу "Joomla для чайников" - после этого у вас не будет именно таких вопросов.
Ишак меня нюхал ...
Если помог - плюсуйте в карму.
*

Trok

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Re: Как найти соответствующий CSS
« Ответ #6 : 16.01.2012, 02:49:30 »
ВНИМАНИЕ ВОПРОС!
Так как тема похожая по названию к моему вопросу спрашиваю тут: кто и как определяет, какой CSS файл отвечает за определенный блок на сайте? Например, есть сайт, делался не вами, вам нужно править его дизайн. Вы видите блок, например это шапка с текстом-заголовком на странице продукта в VirtueMart (Joomla 1.5.20) и хотите его изменить. Каким образом можно найти нужный файл CSS, что бы в нем править блок, либо вообще удалить? Кстати насчет удаления, тоже вопрос, где в шаблонах виртуемарта может быть код овечающий за определенный блок и как его найти, так как порой приходится больше удалять всякой дряни, чем править ее.
ЗЫ фаербагом пробовал искать, путь к конкретному файлу он мне хоть и сказал, а со строкой соврал(
*

Pazys

  • Завсегдатай
  • 1738
  • 241 / 4
  • <a>А где я ошибся-то?</b>
Re: Как найти соответствующий CSS
« Ответ #7 : 16.01.2012, 02:59:09 »
Спойлер
[свернуть]

Вот так видно как я изменил размер текста и цвет? Это Google хром.

Вот так я нашел и css-ку и номер строки.

В Файербаге все также делается.
Ишак меня нюхал ...
Если помог - плюсуйте в карму.
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
Re: Как найти соответствующий CSS
« Ответ #8 : 16.01.2012, 03:01:53 »
FireBug не врёт!
*

xaocbozzz

  • Захожу иногда
  • 205
  • 8 / 0
  • Котэ просит! Не обижайте котэ!
Re: Как найти соответствующий CSS
« Ответ #9 : 16.01.2012, 06:18:05 »
Ну как вариант - зная, например, имя класса можно прошуршать total commander'ом через его встроенный поиск.

В поле Искать файлы - ничего не прописывайте или поставте *.* - поиск по всем файлам и папкам.
А вот в поле С текстом пропишите известное вам имя класса. В результатах поиска вы увидите список всех файлов, в которых упоминается заданный текст.
*

xaocbozzz

  • Захожу иногда
  • 205
  • 8 / 0
  • Котэ просит! Не обижайте котэ!
Re: Как найти соответствующий CSS
« Ответ #10 : 16.01.2012, 06:19:57 »
Как понимаю так и спрашиваю.Умник.И на вопрос так и не ответил.
Попробуй более подробно описать ситуацию. Тогда попробуем помочь
*

Trok

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Re: Как найти соответствующий CSS
« Ответ #11 : 16.01.2012, 17:52:42 »
Значит буду еще насиловать FireBug)))
Подскажите, а как можно найти .php файл, который отвечает за вывод того или иного блока\текста?
Есть проблема, нужно убрать шапку над товаром, где выводится его название (также это название страницы), ковыряние исходного кода хтмл ничего не прояснил, видно лишь такое:
Код
<div class="art-postcontent">
<div id="vmMainPage">
<div id="ass">
<div id="rounded-box-3">
<b class="r3"></b>
<b class="r1"></b>
<b class="r1"></b>
<div class="inner-box">
<font color="#ffffff"> Текст шапки - название товара</font>
</div>
<b class="r1"></b>
<b class="r1"></b>
<b class="r3"></b>
</div>
</div>
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
Re: Как найти соответствующий CSS
« Ответ #12 : 16.01.2012, 19:00:37 »
<div id="ass">
:laugh:

Ну, а по делу: где именно Вам нужно что-то корректировать/менять? В материале? В блоге? Или в списке? От этого зависит и то, в каком файле ковыряться нужно. По шаблонизации com_content вот здесь море материалов написано, вплоть до того, как их даты календарик вывести.
*

midav

  • Давно я тут
  • 926
  • 115 / 1
Re: Как найти соответствующий CSS
« Ответ #13 : 16.01.2012, 19:12:31 »
Цитировать
<div id="ass">
:laugh: повеселил
Цитировать
как можно найти .php файл, который отвечает за вывод того или иного блока\текста
Можно искать по названиям классов или идентификаторов . Файловые менеджеры позволяют искать фразы в файлах . Например TotalCommander или FreeCommander .
Для поиска надо выбирать какие-нибудь уникальные фразы . <div id="ass"> вполне подойдет  ;D
« Последнее редактирование: 16.01.2012, 19:18:09 от midav »
Ответы на вопросы по CSS . Откройте для себя Firebug
*

Trok

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Re: Как найти соответствующий CSS
« Ответ #14 : 16.01.2012, 23:22:11 »
:laugh:

Ну, а по делу: где именно Вам нужно что-то корректировать/менять? В материале? В блоге? Или в списке? От этого зависит и то, в каком файле ковыряться нужно. По шаблонизации com_content вот здесь море материалов написано, вплоть до того, как их даты календарик вывести.
В материале, который представляет собой страницу с товаром из VirtueMart.
*

Ya_Polina

  • Новичок
  • 8
  • 0 / 0
Re: Как найти соответствующий CSS
« Ответ #15 : 26.01.2012, 12:44:06 »
Добрый день. Помогите пожалуйста найти ответы на 2 вопроса:

1. в каком файле и как с помощью CSS задать параметры формата МАТЕРИАЛОВ. Т.е. я не хочу использовать редактор и в ручную тоже прописывать невозможно.

2. где изменить настройки или CSS для изменения формата заголовков МАТЕРИАЛОВ В БЛОГЕ. Открывая код страницы вижу:

<div class="blog">
<div class="items-leading">
<div class="leading-0">

но таких классов в файле template.css у меня нет.

Спасибо.
*

Pazys

  • Завсегдатай
  • 1738
  • 241 / 4
  • <a>А где я ошибся-то?</b>
Re: Как найти соответствующий CSS
« Ответ #16 : 26.01.2012, 13:32:45 »
Добавьте.

Пример:
.items-leading {background:red;}
Ишак меня нюхал ...
Если помог - плюсуйте в карму.
*

Ya_Polina

  • Новичок
  • 8
  • 0 / 0
Re: Как найти соответствующий CSS
« Ответ #17 : 26.01.2012, 13:53:42 »
 Поняла ! СПАСИБО!

Помогите, пожалуйста, найти решение первого вопроса ;(


1. в каком файле и как с помощью CSS задать параметры формата МАТЕРИАЛОВ. Т.е. я не хочу использовать редактор и в ручную тоже прописывать невозможно.


« Последнее редактирование: 26.01.2012, 15:32:34 от Ya_Polina »
*

Ya_Polina

  • Новичок
  • 8
  • 0 / 0
Re: Как найти соответствующий CSS
« Ответ #18 : 26.01.2012, 21:08:54 »
Плиз, ребята, кто-нибудь сталкивался с такой проблемой или знает решение?  :'(
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Как найти соответствующий CSS
« Ответ #19 : 26.01.2012, 21:48:50 »
Что такое "формат материала" в Вашем понимании? Уточнитесь.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

Ya_Polina

  • Новичок
  • 8
  • 0 / 0
Re: Как найти соответствующий CSS
« Ответ #20 : 27.01.2012, 00:37:48 »
В моём понимание это стиль и размер шрифта, цвет, отступы, межстрочные интервалы. Т.е. я хочу прописать CSS, чтобы у меня все материалы были в одном стиле, но с помощью редактора я не могу этого добиться.
*

xaocbozzz

  • Захожу иногда
  • 205
  • 8 / 0
  • Котэ просит! Не обижайте котэ!
Re: Как найти соответствующий CSS
« Ответ #21 : 07.02.2012, 10:54:23 »
Вам бы теорию сначала подтянуть.
Можно вот тут: http://htmlbook.ru/samcss
А вообще можно сделать так:
1. Создаем файл с именем mystyle.css
2. Прописываем правила в этот файл. Например:
Спойлер
[свернуть]
/* так обозначаются примечания */
3. Кидаем созданный файл в любой каталог на сайте (обычно каталог с названием "css" или "style")
4. Далее "прикрепляем" этот файл к шаблону. В случае с Joomla - идем сюда:
ВАШ_САЙТ/templates/ВАШ_ШАБЛОН/index.php
Между тегами <head> и </head> вставляем код:
<link rel="stylesheet" type="text/css" href="ПУТЬ_К_ПАПКЕ/mystyle.css">
5. Теперь применим стиль. Например, к произвольному тексту. Например, в index.php:
Спойлер
[свернуть]
Что получится - можно посмотреть под спойлером
Спойлер
[свернуть]
*

assaru

  • Давно я тут
  • 763
  • 88 / 1
Re: Как найти соответствующий CSS
« Ответ #22 : 07.02.2012, 11:26:22 »
xaocbozzz Поправлю...
3. Кидаем созданный файл в любой каталог на сайте (обычно каталог с названием "css" или "style")
Обычно файлы стилей лучше и правильнее хранить в папке стилей шаблона, а не в любом каталоге на сайте
4. Далее "прикрепляем" этот файл к шаблону. В случае с Joomla - идем сюда:
ВАШ_САЙТ/templates/ВАШ_ШАБЛОН/index.php
Между тегами <head> и </head> вставляем код:
<link rel="stylesheet" type="text/css" href="ПУТЬ_К_ПАПКЕ/mystyle.css">
Не во всех шаблонах в index.php шаблона начинающий и не только сможет найти теги <head>, в клубных шаблонах все раскидано по отдельным файлам.
Между тегами <head> и </head> вставляем код:
<link rel="stylesheet" type="text/css" href="ПУТЬ_К_ПАПКЕ/mystyle.css">
Если данную конструкцию вставить до
Код
<jdoc:include type="head" />
то стили прописанные ниже переназначат стили из файла mystyle.css. Для верности можно это прописывать непосредственно перед закрывающим тегом </head>.
Проблему можно решить и по скрину и по эмоциям, счет на оплату через ЛС (с) Nobody
*

Equilibrium07

  • Захожу иногда
  • 205
  • 8 / 1
Re: Как найти соответствующий CSS
« Ответ #23 : 09.02.2012, 15:13:42 »
Код
Обычно файлы стилей лучше и правильнее хранить в папке стилей шаблона, а не в любом каталоге на сайте
самый лучший вариант для ксс: "/css/" для js: "/js/" для картинок "/img/" или "/images/", а не "/templates/имятп/css/"
*

Pazys

  • Завсегдатай
  • 1738
  • 241 / 4
  • <a>А где я ошибся-то?</b>
Re: Как найти соответствующий CSS
« Ответ #24 : 09.02.2012, 15:50:56 »
Код
Обычно файлы стилей лучше и правильнее хранить в папке стилей шаблона, а не в любом каталоге на сайте
самый лучший вариант для ксс: "/css/" для js: "/js/" для картинок "/img/" или "/images/", а не "/templates/имятп/css/"
В Joomla есть четкая иерархия папок в шаблоне и она нужна при оверрайде. Так что папка img - это неверно. Только images.
Ишак меня нюхал ...
Если помог - плюсуйте в карму.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Найти height. Прошу помощи

Автор EvaLifeTime

Ответов: 17
Просмотров: 1393
Последний ответ 21.11.2019, 21:03:22
от EvaLifeTime
Не могу найти где закодирован цвет

Автор olderman

Ответов: 2
Просмотров: 1500
Последний ответ 15.12.2016, 11:50:58
от darkghost
Где найти HTML каждой страницы сайта

Автор Sirius02030

Ответов: 3
Просмотров: 8181
Последний ответ 08.11.2016, 20:43:22
от Sirius02030
Не могу найти от куда грузятся картинки

Автор katalog_2003

Ответов: 2
Просмотров: 1226
Последний ответ 01.03.2016, 19:56:17
от katalog_2003
Не могу найти CSS

Автор andreyt

Ответов: 2
Просмотров: 1031
Последний ответ 25.09.2015, 12:25:16
от andreyt