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

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #330 : 02.11.2015, 02:39:00 »
AlekVolsk, есть! Ура. =)
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Создание папок из фронтенда
« Ответ #331 : 02.11.2015, 02:40:55 »
а сбрник для пользователя при этом создан?
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #332 : 02.11.2015, 02:46:17 »
Вы имеете в виду, создаётся ли системный сборник, когда пользователь публикует материал?

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

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #333 : 02.11.2015, 02:48:05 »
Администратор материал публиковать может, а зарегистрированный пользователь - нет... В чём может быть ошибка? В настройках?
Авторизацию новый пользователь прошёл.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Создание папок из фронтенда
« Ответ #334 : 02.11.2015, 02:56:08 »
Вы имеете в виду, создаётся ли системный сборник, когда пользователь публикует материал?
Нет! я имею ввиду: создается ли системный сборник, когда регистрируется новый пользователь!

Покажите скрин из базы с содержимым таблицы сборников, появилась ли там запись о системном сборнике? Какой id имеет новый пользователь?
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #335 : 02.11.2015, 03:02:42 »
Есть! ID пользователя - 917, - т.е. это id нового пользователя!
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Создание папок из фронтенда
« Ответ #336 : 02.11.2015, 03:05:17 »
а теперь в модели, где вы выводите список сборников и материалов, меняйте запрос так, чтобы выводились только только те материалы, которые принадлежат сборникам
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Создание папок из фронтенда
« Ответ #337 : 02.11.2015, 03:12:47 »
Наш пользователь не может почему-то публиковать материал. Нажимаем на кнопку создания материала, а вылезает вот это:
Тут не знаю, возможно, что-то с правами пользователя, насколько мне известно, пользователь с правами по-умолчанию не имеет права создавать контент, но и ошибка там по идее другая быть должна
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #338 : 02.11.2015, 03:15:07 »
AlekVolsk, спасибо Вам большое за помощь! Под Вашим натиском плагин быстренько перестал кочевряжиться и начал нормально и адекватно работать.
И отдельное спасибо за то, что так подробно всё нам объясняете и разжёвываете. Понимаем, что с нами тяжело. =)
--------------
Мы не программисты, но благодаря Вашим усилиям, разъяснениям Ваших коллег, мы начинаем понимать действия, которые совершаем. И начинаем понимать язык программирования.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Создание папок из фронтенда
« Ответ #339 : 02.11.2015, 03:22:40 »
Сам когда-то учился ))
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #340 : 02.11.2015, 03:23:32 »
Цитировать
Тут не знаю, возможно, что-то с правами пользователя, насколько мне известно, пользователь с правами по-умолчанию не имеет права создавать контент, но и ошибка там по идее другая быть должна

Мы пошли в общие настройки - права - вместо "по умолчанию" в графе "создавать" поставили "разрешено" - пошли на сайт проверять: заработало! Ошибка исчезла! Наш новый зарегистрированный пользователь может создавать материалы! =)

При этом сборник автоматически создаётся!
Вот скрин:
« Последнее редактирование: 02.11.2015, 03:30:58 от mila_serdnaya »
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #341 : 02.11.2015, 03:45:21 »
Цитировать
а теперь в модели, где вы выводите список сборников и материалов, меняйте запрос так, чтобы выводились только только те материалы, которые принадлежат сборникам

В нашем файле compilations.php список сборников выводится в функции protected function getListQuery().
Вот код этой функции:
Спойлер
[свернуть]

Затем идёт функция получения результатов public function getItems() (в ней мы подключаем особую статическую функцию):
Спойлер
[свернуть]

И, наконец, особая статическая функция appendArticlesByCategory (на название функции смотреть не нужно - мы пока его не исправили, это черновой вариант).
Эта функция добавляет к списку сборников материалы, которые в них содержатся.
Вот код этой функции:
Спойлер
[свернуть]
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Создание папок из фронтенда
« Ответ #342 : 02.11.2015, 03:47:46 »
так, и что сейчас у вас на выходе?
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #343 : 02.11.2015, 03:47:54 »
Подскажите, пожалуйста, где именно нам нужно менять запрос?
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #344 : 02.11.2015, 03:51:07 »
Цитировать
так, и что сейчас у вас на выходе?

.....До нас, кажется, начало сейчас доходить...
Неужели с массивом всё в порядке?! Сейчас мы побежали создавать новый сборник и помещать в него материал...

*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Создание папок из фронтенда
« Ответ #345 : 02.11.2015, 03:51:48 »
пока смотрите, что на выходе, может, ничего и не надо менять

у вас в getItems идет вывод print_r($items) - что выводит?
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #346 : 02.11.2015, 03:59:22 »
Вот, что получается:
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #347 : 02.11.2015, 04:02:35 »
AlekVolsk, получается, что всё в порядке и не нужно менять запрос!  =)

*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Создание папок из фронтенда
« Ответ #348 : 02.11.2015, 04:03:27 »
я вас поздравляю

единственное что, название сборника без материалов когда во фронте выводите - подставляйте другое значение ))
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Создание папок из фронтенда
« Ответ #349 : 02.11.2015, 04:04:28 »
все благодарности - в карму

дальнейшее развитие и доработки - уже отдельная история, основной функционал готов
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #350 : 02.11.2015, 04:09:57 »
Цитировать
единственное что, название сборника без материалов когда во фронте выводите - подставляйте другое значение ))

Не совсем поняли, что Вы имеете в виду: это Вы о том, чтобы мы не забыли перевести на русский язык название сборника?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Создание папок из фронтенда
« Ответ #351 : 02.11.2015, 04:14:09 »
ага )
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Создание папок из фронтенда
« Ответ #352 : 02.11.2015, 04:16:18 »
Мила, сори, а вы в каком часовом поясе?
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #353 : 02.11.2015, 04:29:33 »
Этим мы займёмся сегодня чуть позже, потому что мы из обычного часового пояса. =)
AlekVolsk, ещё раз спасибо Вам за оказанную помощь и доброй Вам ночи.
----------------
Сегодня очереднаямаленькая победа: массив списка сборников с материалами готов! С праздником нас всех! =)
----------------
Теперь осталось всё красиво оформить во фронтенде: вернуть списку сборников кнопки редактирования (они почему-то куда-то пропали), а также вывести кликабельный список материалов к этим сборникам.

Мы так понимаем, нам нужно редактировать файл default.php в папке views компонента?
Вот этот файл:
Спойлер
[свернуть]

 
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Создание папок из фронтенда
« Ответ #354 : 02.11.2015, 10:09:32 »
Цитировать
Мы так понимаем, нам нужно редактировать файл default.php в папке views компонента?
Да, именно его.
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #355 : 02.11.2015, 20:55:13 »
...Мы перевели на русский язык название системного сборника: просто в файле chmosplugbez.php нашего плагина plg_chmosplugbez строку $db->quote(JText::_('Materials_without_compilations')), заменили на $db->quote(JText::_('Материалы без сборника')),

Скажите, пожалуйста, это правильно? Работает всё хорошо. Сомнения у нас возникли, потому что мы думали, что английский текст "Materials_without_compilations" нужно будет переводить в языковых файлах...

Скрины прикрепляем.
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #356 : 02.11.2015, 21:30:15 »
Сегодня весь день мы разбирались с файлом default.php в папке views компонента.
Что мы поняли?
В этом файле содержится таблица table со строками <tr> и столбцами <td>

Вот структура таблицы, которую сейчас имеем:

Столбец 1               Столбец2               Столбец3                      Столбец4                              Столбец5

Кнопка                  id сборника       Название сборника       Кнопка редактирования         Кнопка "удалить сборник"
"Публикация"                                                                  названия сборника

Почему-то                                                                           Почему-то                               Почему-то
не работает                                                                         не работает                            не работает  

-----------------
Внешний вид таблицы:
« Последнее редактирование: 02.11.2015, 21:41:49 от mila_serdnaya »
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Создание папок из фронтенда
« Ответ #357 : 02.11.2015, 21:43:47 »
...Мы перевели на русский язык название системного сборника: просто в файле chmosplugbez.php нашего плагина plg_chmosplugbez строку $db->quote(JText::_('Materials_without_compilations')), заменили на $db->quote(JText::_('Материалы без сборника')),

Скажите, пожалуйста, это правильно? Работает всё хорошо. Сомнения у нас возникли, потому что мы думали, что английский текст "Materials_without_compilations" нужно будет переводить в языковых файлах...

Скрины прикрепляем.
Нет. Вы поступили неправильно.
В компоненте в языковых файлах (у вас это en-GB.com_chmos.ini и ru-RU.com_chmos.ini) создайте языковую константу, назовите ее, например, COM_CHMOD_COMPILATION_SYS_TITLE
Для каждого языка задайте ей соответствующее значение,
на русском это будет COM_CHMOD_COMPILATION_SYS_TITLE="Материалы без сборника"
на английском COM_CHMOD_COMPILATION_SYS_TITLE="Materials without compilations"
Добавлять надо и для части админки и для части сайта.

Затем в плагине на регистрацию пользователя вам необходимо подключить языковые файлы вашего компонента, перед запросом добавляете:
Код: php
    $language = JFactory::getLanguage();
    $language->load('com_chmos', JPATH_BASE, null, true);

а строчку $db->quote(JText::_('Материалы без сборника')), меняете так:
Код: php
$db->quote(JText::_('COM_CHMOD_COMPILATION_SYS_TITLE')),
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #358 : 02.11.2015, 21:49:15 »
....Мы рассуждаем так: в первую очередь нам нужно изменить содержимое <tbody> и добавить в него материалы, которые относятся к созданным сборникам.
Вот этот код:
Код
<tbody>
<?php foreach ($this->items as $i => $item) : ?>
<?php $canEdit = $user->authorise('core.edit', 'com_chmos'); ?>

<?php if (!$canEdit && $user->authorise('core.edit.own', 'com_chmos')): ?>
<?php $canEdit = JFactory::getUser()->id == $item->created_by; ?>
<?php endif; ?>

<tr class="row<?php echo $i % 2; ?>">

<?php if (isset($this->items[0]->state)): ?>
<?php $class = ($canEdit || $canChange)? 'active' : 'disabled'; ?>
<td class="center">
<a class="btn btn-micro <?php echo $class; ?>" href="<?php echo ($canEdit || $canChange)? JRoute::_('index.php?option=&task=compilation.publish&id=' . $item->id . '&state=' . (($item->state + 1) % 2), false, 2) : '#'; ?>">
<?php if ($item->state == 1): ?>
<i class="icon-publish"></i>
<?php else: ?>
<i class="icon-unpublish"></i>
<?php endif; ?>
</a>
</td>
<?php endif; ?>



<?php if (isset($this->items[0]->id)): ?>
<td class="center hidden-phone">
<?php echo (int) $item->id; ?>
</td>
<td class="center hidden-phone">
<?php echo $this->escape($item->title); ?>
</td>
<?php endif; ?>

<?php if ($canEdit || $canDelete): ?>
<td class="center">
<?php if ($canEdit): ?>
<a href="<?php echo JRoute::_('index.php?option=com_chmos&task=compilationform.edit&id=' . $item->id, false, 2); ?>" class="btn btn-mini" type="button"><i class="icon-edit" ></i></a>
<?php endif; ?>
<?php if ($canDelete): ?>
<button data-item-id="<?php echo $item->id; ?>" class="btn btn-mini delete-button" type="button"><i class="icon-trash" ></i></button>
<?php endif; ?>
</td>
<?php endif; ?>

</tr>
<?php endforeach; ?>
</tbody>
---------------
Подскажите, пожалуйста, в каком месте нам нужно будет добавлять материалы? Может быть, есть какой-то пример, на который мы можем опереться?
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #359 : 02.11.2015, 21:51:22 »
AlekVolsk, спасибо за ответ. Поняли, ушли исправлять.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Создание релиза компонента средствами GitHub

Автор SkyAn

Ответов: 4
Просмотров: 1131
Последний ответ 01.11.2019, 17:42:04
от Septdir
[Решено] Создание контент плагина

Автор IvanTopor

Ответов: 4
Просмотров: 1799
Последний ответ 26.02.2016, 13:10:37
от IvanTopor
Создание динамических полей в своем компоненте

Автор NeuroZ

Ответов: 14
Просмотров: 1791
Последний ответ 18.08.2015, 11:17:59
от b2z
Создание таблиц средствами компонента

Автор spirit1086

Ответов: 3
Просмотров: 1532
Последний ответ 18.08.2015, 10:17:09
от spirit1086
Создание изображений PHP и GD

Автор vita1971

Ответов: 6
Просмотров: 1283
Последний ответ 10.05.2015, 13:10:38
от vita1971