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

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
   Известно что  <FORM> внутри <FORM> не поддерживается! Но как же быть?
   Есть компонент  со стандартной джумловской сортировкой пунктов (фронтенд) которая реализуется только в тегах <form>. Точней список товаров с различным кол-ом цен от 1 до 5 (без всяких карточек товаров). Цены добавляются в корзину AJAXом тоже в теге <form>
Код: php


<form id="adminForm" method="post" name="adminForm">
                     
                      <h3><?php echo $item->title; ?></h3>

                      <div class="panel_pl">

                        <?php if ($item->price_1 > 0): ?>
                        <div class="box">
                          <form method="post" action="" class="cart">
                              <div><?php echo $params->get('price_title_1'); ?></div>
                              <fieldset>
                                 <input type="hidden" name="cartToken" value="<?php echo $session->get('cartToken');?>" />
                                 <input type="hidden" name="my-item-id" value="<?php echo $item->id; ?>" />
                                 <input type="hidden" name="my-item-name" value="<?php echo $item->title; ?> - <?php echo $params->get('price_title_1'); ?>" />
                                 <input type="hidden" name="my-item-price" value="<?php echo $item->price_1; ?>" />
                                 <input type="hidden" name="my-item-qty" value="1" size="1" />
                                 <input type="submit" name="my-add-button" value="<?php echo $currencySymbol ?><?php echo $item->price_1; ?>" class="button" />
                              </fieldset>
                           </form>
                        </div>
                        <?php endif; ?>

                        <?php if ($item->price_2 > 0): ?>
                        <div class="box">
                           <form method="post" action="" class="cart">
                              <div><?php echo $params->get('price_title_2'); ?></div>
                              <fieldset>
                                 <input type="hidden" name="cartToken" value="<?php echo $session->get('cartToken');?>" />
                                 <input type="hidden" name="my-item-id" value="<?php echo $item->id; ?>" />
                                 <input type="hidden" name="my-item-name" value="<?php echo $item->title; ?> - <?php echo $params->get('price_title_2'); ?>" />
                                 <input type="hidden" name="my-item-price" value="<?php echo $item->price_2; ?>" />
                                 <input type="hidden" name="my-item-qty" value="1" size="1" />
                                 <input type="submit" name="my-add-button" value="<?php echo $currencySymbol ?><?php echo $item->price_2; ?>" class="button" />
                              </fieldset>
                           </form>

                        <?php  // ..... и т.д.
                        ?>

                      </div>
</form>


Может кто реализовывал такое. Будут полезны любые подсказки.
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
Возможно ли реализовать внутреннюю форму в контроллере?
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Не совсем понял, что вы хотите и почему формы не работают.
RSForm их использует и я практикую там же.
Кем известно то? ^-^

Например их код из контроллера:
      $form = JRequest::getVar('form');
      $formId = (int) @$form['formId'];

И дивы "ловим".

А то что <form> видоизменили-логика не меняется, насколько я понимаю.

Если аяксом, то можно поймать:

Код
<script> 
        $(document).ready(function() {
            $('#myForm').ajaxForm(function() {
                alert("Мы поймали AJAX форму!");
            });
        });
</script>
« Последнее редактирование: 08.05.2016, 18:05:20 от vipiusss »
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
при данной реализации в первом блоке class="box" на странице не выводится тег form! И форма не работает AJAX. Во втором блоке все нормально и работает. Вроде как браузеры не обробатывают правильно такое, нет?
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Вы скажите, что вам надо отсортировать?
<fieldset> ?

http://ruseller.com/lessons/les756/demo/demo_3.html
пример с кодом, это вы хотите? просто я не понял в шапке темы.
и всё прекрасно с формами работает.и на аяксе, как вы хотите.
и разжёвывание в коде на русском(навсяк)
« Последнее редактирование: 08.05.2016, 18:22:41 от vipiusss »
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
Вы имеете в виду зачем здесь <fieldset> - в принципе не зачем) это черновик

А ссылочка очень интересная сейчас буду изучать.
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
Проблема не решается. Сортировка у меня работает. Трабл в том что внутренняя форма некорректно (почемуто) работает внутри родительской формы.
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
форма в форме?
это как?
сделайте не форму в форме, а class в id формы,id будет главным для формы, а внутренняя классы иметь будут.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
Голова уже кводратная)) отвечаю на вопрос

Вы скажите, что вам надо отсортировать?
<fieldset> ?

Выводится список foreach из базы и его я сортирую, а это как бы одна запись. просто скопировал только нужный кусок. Сортирую не <fieldset>)))
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
форма в форме?
это как?
сделайте не форму в форме, а class в id формы,id будет главным для формы, а внутренняя классы иметь будут.


а можно поподробней, я совсем не профи
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
http://php5.kiev.ua/manual/ru/control-structures.foreach.html
ваши массивы.
насколько я понял массивы через фореч.

хотя вы бы цель простыми словами написали бы и фореч не нужен.
списки выводить и фильтровать можно многими вариантами, я даже дал ссылку как.

///

если знающие фореч и понимающиее, что за список и куда и зачем ещё форма-отпишуться.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Что за ерунда? Раз уже
   Известно что  <FORM> внутри <FORM> не поддерживается!
, то нужно сделать так, чтобы такого не было, а не продолжать дальше и удивляться
внутренняя форма некорректно (почемуто) работает внутри родительской формы.
Какой компонент? Что именно нужно сделать (только не надо: чтобы форма работала внутри формы)? Дайте больше конкретной информации, а не только кусок шаблона.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
Т.к. я не силен в кодинге, меня легко ввести в заблуждение
Не совсем понял, что вы хотите и почему формы не работают.
RSForm их использует и я практикую там же.
Кем известно то? ^-^

---------------

Какой компонент? Что именно нужно сделать (только не надо: чтобы форма работала внутри формы)? Дайте больше конкретной информации, а не только кусок шаблона.

Компонент самописный в кратце описан в первом посте. Даже если без кусков шаблона. Если столкнулись с такой проблемой как обыграт в Joomla. Вынести за пределы не могу. Поэтому и задал вопрос.

Пытаюсь сделать запрос в модель по ссылке, где будет внутренняя форма. Пока безрезультатно(. С моими знаниями и перебором всего что пишут в интернете уйдет не одна неделя. Даже не знаю возможно такое реализовать. Поэтому и задал такой вопрос здесь. Это ведь форум Joomla.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
ОК, я уже понял, что задавать вопросы вы не умеете. Тогда ничем не могу помочь.
Единственное, что могу сказать: HTML не разрешает иметь форму внутри формы, если хотите одновременно отправить несколько форм - используйте JavaScript. Как конкретно - не могу сказать, пока не получу конкретный вопрос.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
+1 к "форма в форме"
тоже не понял, что не раз в теме писал и перечислил несколько вариантов, возможно это правильный ответ, наблюдая за ответами.
ТС просил я вас-задайте вопрос, напишите цель просто как вы её видите, без участков кода, обычными словами.

Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
Я уже не знаю куда конкретней задавать вопрос. Хотел побыстрому получить, ответ только время потерял За помощь спасибо! Буду капать в сторону JavaScript. Может позже соберусь, для конкретной задачи вопроса!
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Ну если Роберт не понимает, точнее нет конкретики(думал я такой одарённый), то уже не знаю...
Вы писали:

  • Известно что  <FORM> внутри <FORM> не поддерживается! Но как же быть? - поддерживается
  • Есть компонент  со стандартной джумловской сортировкой пунктов (фронтенд) которая реализуется только в тегах <form>. - какой именно?!
  • Точней список товаров с различным кол-ом цен от 1 до 5 (без всяких карточек товаров). Цены добавляются в корзину AJAXом тоже в теге <form> - допустим, и где ваш вопрос?

Это я уже додумываю что массив, вы уже сказали фореч и даю броские ответы надеясь попасть в нужное...и т.д. Это мы должны вытягивать из вас вопросы?
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
Вы что пьяный (извеняюсь)
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
всё.я только щас, перечитв, понял.моя вина, приношу извинения, не внимателен был вчера, переработался и основываясь на вчерашнем, не читав, продолжил.
позже отпишу.
ещё раз приношу извинения.
« Последнее редактирование: 09.05.2016, 09:37:34 от vipiusss »
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
компонент самописный, я сам написал компонент, список каких то товаров с пятью ценами в каждой записи, самописный компонент, компонент самописный. ..... компонент, не модуль не плагин, список товаров.....

Получилось то что получилось, код наверху, форма в форме. Ничего сложного. Как решить? Убрать вторую форму из нутри не могу, ломается весь смысл задумки. Наружнюю форму убрать не могу-это стандартная джумловская сортировка. Вы знакомы с Joomla?

 Ответили-JavaScript. Спасибо. Хоть на том.

  • Известно что  <FORM> внутри <FORM> не поддерживается! Но как же быть? - поддерживается

Не поддерживается подтвердили же уже

Масив и фореч тут ваще ни какой роли не играет



*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
всё.я только щас, перечитв, понял.моя вина, приношу извинения, не внимателен был вчера, переработался и основываясь на вчерашнем, не читав, продолжил.
позже отпишу.
ещё раз приношу извинения.

Да ладно бывает, я тоже извеняюсь
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
а если при соблюдении условия  <?php if ($item->price_1 > 0): ?> div "бокс" вызвать инклуде (<?php include 'ФОРМА ВНУТРЕННЯЯ.php'; ?>) из левого файла, а тут перед <?php endif; ?> закончить дополнением-else вернуться к первой форме?
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
а при загрузке DOM все равно в одном HTML будет. Надо чтоб внутренние формы подгружались динамически после загрузки страницы. По нажатию

*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
а если дополнить:

$.ajax({
  url: 'вн.форма.php?action=ваш див',
  success: function(data) {
    $('.results').html(data);
  }
});

это наподобие else вернёт вас на исполнителя: вн.форма.php
///
хотя нет, наверно форма в форме так тоже не сработает, хотя попробуйте.
« Последнее редактирование: 09.05.2016, 10:20:43 от vipiusss »
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
ну да как то так надо делать. но я не знаю как это все прописать

какова вида ссылка должна быть на этот скрипт?
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
какая ссылка? оберните в <script></script> прямо в теле
вы попробуйте будет ли этот GET метод работать, потому что можно ещё рискнуть другим скриптом.
стояло бы это всё у меня-давно бы не гадали.
а так методом тыка.
ну или ждите знающих скрипт хорошо, в любом случае, вы ничего не теряете пробуя.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Спойлер
[свернуть]

и forma1.php:

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

попробуйте так как то...может что упустил.может и не верно, наугад, не пробуя.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
Тоже самое.

А если сделать как нибудь так.

Код: php
<form id="adminForm" method="post" name="adminForm">
 
                   <h3><?php echo $item->title; ?></h3>
 
                   <div class="panel_pl">
 
                        <?php if ($item->price_1 > 0): ?> // если цена_1 больше 0 показать box
                            <div class="box">
                                <a href="на сабмит price_1">ЦЕНА_1</a>
                            </div>
                        <?php endif; ?>
 

                        <?php if ($item->price_2 > 0): ?> // если цена_2 больше 0 показать box
                            <div class="box">
                                <a href="на сабмит price_2">ЦЕНА_2</a>
                            </div>

                   </div>
</form>

<form id="price_1" method="post" action="" class="cart">
                              <div><?php echo $params->get('price_title_1'); ?></div>
                              <fieldset>
                                 <input type="hidden" name="cartToken" value="<?php echo $session->get('cartToken');?>" />
                                 <input type="hidden" name="my-item-id" value="<?php echo $item->id; ?>" />
                                 <input type="hidden" name="my-item-name" value="<?php echo $item->title; ?> - <?php echo $params->get('price_title_1'); ?>" />
                                 <input type="hidden" name="my-item-price" value="<?php echo $item->price_1; ?>" />
                                 <input type="hidden" name="my-item-qty" value="1" size="1" />
                                 <input type="submit" name="my-add-button" value="<?php echo $currencySymbol ?><?php echo $item->price_1; ?>" class="button" />
                              </fieldset>
                           </form>

<form id="price_2" method="post" action="" class="cart">
                              <div><?php echo $params->get('price_title_2'); ?></div>
                              <fieldset>
                                 <input type="hidden" name="cartToken" value="<?php echo $session->get('cartToken');?>" />
                                 <input type="hidden" name="my-item-id" value="<?php echo $item->id; ?>" />
                                 <input type="hidden" name="my-item-name" value="<?php echo $item->title; ?> - <?php echo $params->get('price_title_2'); ?>" />
                                 <input type="hidden" name="my-item-price" value="<?php echo $item->price_2; ?>" />
                                 <input type="hidden" name="my-item-qty" value="1" size="1" />
                                 <input type="submit" name="my-add-button" value="<?php echo $currencySymbol ?><?php echo $item->price_2; ?>" class="button" />
                              </fieldset>
                           </form>

Вынести формы за пределы и сделать ссылку на сабмит конкретной формы.

Возможно такое. Если да то какая должна быть ссылка на форму с ID
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
тоже не получается страница перезагружается, товар не добавляется
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Используйте jQuery.ajax, в этом случае вам даже не нужна обертка <form/>, достаточно иметь inputs с уникальными идентифиткаторами (id, class etc.).
Спойлер
[свернуть]
Если же нужно одним нажатием отправить несколько форм, то принцип тот же, только нужно организовать цепочку, засовывая последующее действие в success предыдущего.
« Последнее редактирование: 09.05.2016, 13:53:49 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться