Новости Joomla

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6.2PageBuilder Toolkit - это специализированный плагин для конструктора страниц Yootheme Pro, содержит набор различных утилит для ускорения процесса работы и отладки макета, множественные улучшения в интерфейсе, включая поддержку dark mode, подсказки, быстрая смена разрешения в окне просмотра и много чего еще.v.1.6.2 Что нового?- Индикатор статусов: теперь не просто показывает состояние запросов, но и делает автоматические попытки их отправки при кратковременных сбоях в сети, а если это не помогло, то переводит конструктор в ручной режим, что позволяет сохранит макет и настройки темы прежде чем вы потеряете все, что было сделано с момента последнего сохранения- Подсветка ошибок в макете: плагин анализирует код страницы и может автоматически подсвечивать data атрибуты с кучей мусора, которые попадают в код страницы при копипасте из Figma в TinyMCE (пригодится для старых макетов, в текущей работе плагин сам очищает код мусора). Также есть подсветка семантических ошибок сборки - дубли h1 тега на странице и вложенных друг в друга заголовков.- Улучшена поддержка будущего релиза Yootheme Pro 5 и редактора CodeMirror 6Плагин для русскоязычных пользователей доступен в каталоге расширений SovMart и распространяется за символическую плату (100р). Разработчики Joomla расширений и партнеры автора могут получить плагин бесплатно.Для работы плагина необходим конструктор страниц Yootheme Pro.Разработчик плагина - участник нашего сообщества Александр Судьбинов (@alexrevo), член официальной группы поддержки Yootheme Pro. Страница расширенияОписание на сайте автора@joomlafeed#joomla #yootheme

0 Пользователей и 1 Гость просматривают эту тему.
  • 11 Ответов
  • 2108 Просмотров
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
Добрый день.
Я сделала компонент телефонный справочник на основе примера создания компонента для Joomla 2.5
Код
http://joomlablog.ru/dokumentatsiya/dlya-razrabotchika/sozdanie-komponenta-dlya-joomla-2-5/433-chast-16-dobavlyaem-filtry-i-uchimsya-sozdavat-svoi
В примере есть поля, которые задаются select'ом (состояние и категория)
файл
Код
administrator/components/com_record/models/forms/record.xml
Состояние задано списком опций
Код
field
name="state"
type="list"
label="JSTATUS"
description="JFIELD_PUBLISHED_DESC"
class="inputbox"
size="1"
default="1"
>
<option value="1">JPUBLISHED</option>
<option value="0">JUNPUBLISHED</option>
<option value="2">JARCHIVED</option>
<option value="-2">JTRASHED</option>
</field>
а категория - расширением
Код
<field
name="catid"
type="category"
extension="com_record"
class="inputbox"
default=""
label="COM_RECORD_RECORD_FIELD_CATID_LABEL"
description="COM_RECORD_RECORD_FIELD_CATID_DESC"
required="true"
>
<option value="0">JOPTION_SELECT_CATEGORY</option>
</field>
А как создать select, который заполняется значениями из произвольной таблицы бд, которая не связана (как категория) с таблицей, по которой ведётся запрос?
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Создайте собственный тип поля, за основу возьмите тип list и делайте там из любой таблицы выборки.
интернет-блог: http://websiteprog.ru
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
Создайте собственный тип поля, за основу возьмите тип list и делайте там из любой таблицы выборки.
Спасибо за ответ.
А там это где?
Код
<field
name="nstr"
type="listfromtable"
label="COM_RECORD_RECORD_FIELD_NSTR_LABEL"
description="COM_RECORD_RECORD_FIELD_NSTR_DESC"
class="inputbox"
size="1"
default="0"
>
<?php
$db =& JFactory::getDBO();
$query = $db->getQuery(true);


$query->select('h.nstr as value, h.name_short as text');

$query->from('#__labs AS h');
$db->setQuery($query);
$messages = $db->loadObjectList();

foreach ($messages as $message)
{

echo '<option value="'.$message->nstr.'">'.$message->name_short.'</option>';
}



?>
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Ну уж не в XML файле точно). Сначало создаете папку fields и файл например тут: \models\fields\mylist.php cо следущим содержимым:
Спойлер
[свернуть]

Затем в XML файле пропишите путь к папке:  <fields addfieldpath="/components/mycomponent/models/fields">
Ну и собственно само поле добавьте:
Код: xml
<field
 name="mylistname"
 type="mylist"
 description="..._MYLIST_DESC"
 label="...MYLIST_LABEL"
/>

Ну и конечно запросы лучше в модель перенести, и пользоватся моделью уже в файле.       
интернет-блог: http://websiteprog.ru
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
В примере, на который я ссылалась, в файле models/forms/record.xml для поля state указан тип list
Код
<field
name="state"
type="list"
, а затем просто выведены опции, а для поля catid - тип category
Код
<field
name="catid"
type="category"
extension="com_record"
class="inputbox"
В файле modes/fields/record.php - // Подключаем тип поля list.
Спойлер
[свернуть]
1.Я не могу понять, если у поля catid тип category, то причём здесь Подключаем тип поля list.
2. Если  уже есть файл modes/fields/record.php , в котором подключен тип "list", можно в это же файл добавить подключение типа "mylist"?
3.Ну и конечно запросы лучше в модель перенести, и пользоватся моделью уже в файле.  - Это, сказать честно, я не поняла.
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Чето я вас тоже не понял) Я вам показал лишь как можно создать собственный тип поля на основе стандартных. У вас есть XML форма в которую вы можете добавлять стандартные или свои собственные поля. В своем типе можете писать что хотите. Тот HTML что вы отдаете в методах будет выводится в форме. Не обязательно опции можете что угодно прописать там можете там объеденять поля и выборки любые делать. И конечно вы можете наследовать от собственного класса(типа поля) и от других, если вы это имеете ввиду. Какие проблемы то?

По поводу модели,  вы ведь не пишете весь код в одном файле? Если бы все писали так, то такой код не смог бы прочитать и понять толком даже сам разработчик. Что бы отделить мух от котлет, для многих фреймворков придумана структура медель-вид-контроллер. Контроллер обрабатывает запросы, модель работает с данными, вид отображает данные. В самом упрощенном варианте. Так что все запросы в БД лучше делать там, хотя это и не так принципиально. Но вы же компонент разрабатываете..
интернет-блог: http://websiteprog.ru
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
По поводу модели,  вы ведь не пишете весь код в одном файле? Нет, конечно, я не пишу.
И всё равно запуталась.
мой компонент com-record.
файл administrator/components/com-record/models/record.php
Спойлер
[свернуть]
файл administrator/components/com-record/models/forms/record.xml
Спойлер
[свернуть]
файл administrator/components/com-record/models/fields/record.php

Спойлер
[свернуть]

Можно? (нужно?) добавить расширение для поля nstr в файл   administrator/components/com-record/models/fields/record.php   или его надо отдельным файлом поместить в каталог forms
Спойлер
[свернуть]
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Если это отдельное поле то зачем его в один файл то? У вас есть тип record и mylist, которые выводят селекты со списками опций, для каждого типа поля свой список, своя выборка.  Нет вы конечно можете и все в одно поле запихнуть оба селекта, для этого надо перегрузить метод getinput() в том же файле. Там вы вобще можете хоть 10500 полей определять, любой HTML выводить.. но я просто не вижу смысла в этом. Если поля между собой не связаны то для каждого поля лучше отдельный файл создать.
интернет-блог: http://websiteprog.ru
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
Создала два отдельных файла в директории models/forms: record.php и mylist.php

mylist.php:
Спойлер
[свернуть]

Выходит ошибка Fatal error: Call to a member function getFieldsets() on a non-object in Z:\home\localhost\www\joomla\administrator\components\com_record\views\record\tmpl\edit.php on line 12
Спойлер
[свернуть]
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Создала два отдельных файла в директории models/forms: record.php и mylist.php
Не там создаете, это у вас не формы а поля. Вам нужно создать папку fields и туда их положить, а в XML файле формы прописать путь к папке с вашими полями
Выходит ошибка Fatal error: Call to a member function getFieldsets() on a non-object in
Эта ошибка говорит о том что вы вызываете метод getFieldsets() на не-объекте. Тоесть $this->form не объект. Так что смотрите почему у вас getForm не возвращает объект формы если вы его вобще вызываете..
интернет-блог: http://websiteprog.ru
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
Извините, ошиблась. Файлы record.php b mylist у меня лежат в папке fields.
Но когда поле nstr задано
Код
<field
name="nstr"
type="text"
label="COM_RECORD_RECORD_FIELD_NSTR_LABEL"
description="COM_RECORD_RECORD_FIELD_NSTR_DESC"

size="2"
required="true"
default=""


/>
всё работает. Может, конечно, работает потому что связанных категорий у меня нет. Так, из примера осталось.
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
файл views/record/view.html.php

Спойлер
[свернуть]
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Форма для добавления данных в Google Sheets

Автор zigzagrus

Ответов: 2
Просмотров: 1611
Последний ответ 07.11.2024, 12:03:12
от zigzagrus
Непонятные символы в конце каждой статьи после сохранении редактирования

Автор Анастасия Гвоздева

Ответов: 2
Просмотров: 1675
Последний ответ 19.03.2019, 15:01:41
от draff
Как создать редирект в форме заказа на основе выбора пользователя? 3.8.10?

Автор CyberWizard

Ответов: 3
Просмотров: 1284
Последний ответ 31.07.2018, 12:11:13
от varX
500 ошибка после редактирования файла

Автор RedDeni

Ответов: 3
Просмотров: 1685
Последний ответ 19.07.2018, 12:10:01
от Somapinwan
Как удалить ненужные поля при регистрации?

Автор petya242

Ответов: 2
Просмотров: 4076
Последний ответ 09.11.2017, 12:58:09
от abonnent