Новости 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 Ответов
  • 29499 Просмотров
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #480 : 12.11.2015, 01:52:45 »
Протестировали. Сборник удаляется, а вот материал, который в нём содержится - нет. Возникает такое вот сообщение:
Предупреждение
Удаление не допускается


Вот код метода delete compilationform.php, который мы сейчас имеем:
Спойлер
[свернуть]
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Создание папок из фронтенда
« Ответ #481 : 12.11.2015, 09:02:00 »
У вас нет права на удаление материалов.
Модель ContentModelArticle лучше подключить прямо перед удалением материалов
Спойлер
[свернуть]
Не будь паразитом, сделай что-нибудь самостоятельно!
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Создание папок из фронтенда
« Ответ #482 : 12.11.2015, 09:41:56 »
Я предсказывал эти проблемы. b2z, напишите ей нормально полностью функцию удаления, а то топик грозит побить мой рекорд (помните разработку импорта XML? на 505 постов...)
Нифига себе, вы новичку сразу подсунули FOREIGN KEY? Но выборка вроде осуществляется перед удалением, если я правильно помню.

P.S. Еще и CONSTRAINT.
Чего вы так боитесь внешних ключей? ;) Они значительно сокращают написание кода, просто нужно придерживаться определенной логики при удалении. О чём я уже писал и что было сделано - сначала выборка материалов ;)

P.S.
Внешние ключи - это благо. Например, в одном компоненте у меня три таблицы связаны с родительской записью. И у меня не болит голова при удалении родителя - я знаю, что в связанных таблицах все удалится автоматом. А если нет, то БД выкинет ошибку.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Создание папок из фронтенда
« Ответ #483 : 12.11.2015, 09:50:57 »
Так я не против ключей, но новичку ее уровня это было давать слишком рано.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Создание папок из фронтенда
« Ответ #484 : 12.11.2015, 11:33:42 »
Так я не против ключей, но новичку ее уровня это было давать слишком рано.
А новичок даже и знать о них не будет. Это все на уровне БД ;)
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #485 : 12.11.2015, 20:20:33 »
Мы подключили Модель ContentModelArticle прямо перед удалением материалов так, как нам подсказывает автор robert, но ошибка по-прежнему возникает:
Предупреждение
Удаление не допускается
.
« Последнее редактирование: 12.11.2015, 20:23:54 от mila_serdnaya »
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Создание папок из фронтенда
« Ответ #486 : 12.11.2015, 20:34:32 »
А если убрать

Код: php-brief
if (JFactory::getUser()->authorise('core.delete','com_chmos.compilation.'.$id)!==true){
throw new Exception(403, JText::_('JERROR_ALERTNOAUTHOR'));
}
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Создание папок из фронтенда
« Ответ #487 : 12.11.2015, 20:59:30 »
Сборник у нее удаляется, это com_content. mila_serdnaya, вы залогинились на сайте как администратор или автор?
У вас нет права на удаление материалов.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #488 : 12.11.2015, 21:12:47 »
robert, как администратор.
Сейчас попробуем удалить строку, о которой говорит автор b2z, - может, что-то изменится...
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #489 : 12.11.2015, 21:22:35 »
Строку, о которой сказал автор b2z, на всякий случай удалили, - результат такой же. Сборник удаляется, а материал, который в нём - нет.
Та же ошибка:
Предупреждение
Удаление не допускается.


Мы тоже думаем, что это com_content нам не разрешает удалять материалы. Это означает, что нужно править какие-то файлы com_content?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Создание папок из фронтенда
« Ответ #490 : 12.11.2015, 21:48:01 »
Покажите скрины: общие права на com_content и права конкретноо материала, который отказывается удаляться.
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #491 : 12.11.2015, 21:52:37 »
Вот общие права для зарегистрированных пользователей.
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #492 : 12.11.2015, 21:55:29 »
Это настройки прав на материалы для зарегистрированных пользователей.
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #493 : 12.11.2015, 22:02:57 »
AlekVolsk, мы ещё ни разу не сталкивались с понятием "права конкретного материала"...
Вот, кажется, нашли.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Создание папок из фронтенда
« Ответ #494 : 12.11.2015, 22:04:47 »
Еще найдите права категории, материал которой не удаляется.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #495 : 12.11.2015, 22:05:57 »
Хотим добавить, что мы пока что заходим от имени администратора - и материал всё равно не удаляется. А у администратора ведь прав больше, чем у зарегистрированного пользователя. Он же считай что бог на сайте.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Создание папок из фронтенда
« Ответ #496 : 12.11.2015, 22:06:55 »
Хотим добавить, что мы пока что заходим от имени администратора - и материал всё равно не удаляется. А у администратора ведь прав больше, чем у зарегистрированного пользователя. Он же считай что бог на сайте.
То есть, суперадминистратор?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #497 : 12.11.2015, 22:10:55 »
Вот настройки прав категории, материал который не хочет удаляться. Категория называется "Без категории".
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #498 : 12.11.2015, 22:11:53 »
robert, да, суперадминистратор. Мы поэтому и в недоумении.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Создание папок из фронтенда
« Ответ #499 : 12.11.2015, 22:50:16 »
Понятно, com_content не дает удалять материалы, если их предварительно не помещать в корзину. ОК, действуем напрямую: вот новый код функции delete()
Спойлер
[свернуть]
Не будь паразитом, сделай что-нибудь самостоятельно!
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #500 : 12.11.2015, 23:00:58 »
Вставили код, пошли удалять сборник с материалом, - пишет ошибку в этой строке:$query->where('id IN('.implode(',',$contentIds).')';
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Создание папок из фронтенда
« Ответ #501 : 12.11.2015, 23:11:01 »
А так
Спойлер
[свернуть]
?
Если будет ошибка - приведите ее полностью.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #502 : 12.11.2015, 23:17:39 »
robert, всё заработало!
Мы сейчас не можем отписаться нормально - убегаем на пробежку. Вернёмся - всё подробно напишем!
СПАСИБО! =)
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Создание папок из фронтенда
« Ответ #503 : 12.11.2015, 23:31:59 »
ОК. Но имейте в виду, что на данный момент любой, кто видит кнопку "Удалить", можеть совершать это действие.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Создание папок из фронтенда
« Ответ #504 : 13.11.2015, 01:17:21 »
Напрямую нельзя! Останется куча мусора в таблице #_assets
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #505 : 13.11.2015, 02:30:02 »
b2z, тогда получается, что в этом куске кода...

if ($table->delete($id)===true){
$query=$db->getQuery(true);
$query
->delete($db->quoteName('#__content'))
->where($db->quoteName('id').' IN('.implode(',',$contentIds).')');
$db->setQuery($query);
$db->execute();

...нужно дополнительно прописывать удаление из таблицы #_assets?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Создание папок из фронтенда
« Ответ #506 : 13.11.2015, 08:41:50 »
Напрямую нельзя! Останется куча мусора в таблице #_assets
Да, совсем забыл об этом.
mila_serdnaya, тогда измените статус удаляемых материалов на -2 и потом удаляйте через модель.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Создание папок из фронтенда
« Ответ #507 : 13.11.2015, 10:00:14 »
Да, совсем забыл об этом.
mila_serdnaya, тогда измените статус удаляемых материалов на -2 и потом удаляйте через модель.

Вставляем код перед:
Код: php
JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR.'/components/com_content/models','ContentModel');

Код: php
// Устанавливаем состояние в -2 (в корзине)
$query
->update($db->quoteName('#__content'))
->set($db->quoteName('state'). '= -2')
->where('id IN(' . implode(',', $contentIds). ')';
$db->setQuery($query)
->execute();
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #508 : 13.11.2015, 10:21:27 »
b2z, мы вернули тот код, который содержал JModelLegacy.
Вставили тот код, который Вы написали.
Вот что у нас получилось:
Спойлер
[свернуть]

Пошли удалять - выдаёт ошибку:
Parse error: syntax error, unexpected ';' in Z:\home\starting\www\components\com_chmos\models\compilationform.php on line 306
Убрали из строки, на которую указывает ошибка, - ';'. Вот эта строка (было): ->where('id IN(' . implode(',', $contentIds). ')';
Вот эта строка (стало): ->where('id IN(' . implode(',', $contentIds). ')'

Появилась другая ошибка: Parse error: syntax error, unexpected T_STRING in Z:\home\starting\www\components\com_chmos\models\compilationform.php on line 307
Вот строка, на которую указывает ошибка: db->setQuery($query)
« Последнее редактирование: 13.11.2015, 10:29:13 от mila_serdnaya »
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Создание папок из фронтенда
« Ответ #509 : 13.11.2015, 10:51:19 »
Забыли закрыть скобку.
Код: php-brief
->where('id IN(' . implode(',', $contentIds). ')');
И, mila_serdnaya, если пишет "unexpected", то это не значит, что нужно удалять.
Не будь паразитом, сделай что-нибудь самостоятельно!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Создание релиза компонента средствами 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