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

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Poznakomlus +.
Я не хотел видеть все время 2 кнопки, поэтому разбил форму и добавил по одной кнопке каждому шаблону. Прошу прощения за редактирование оригинального кода.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

sinyak-image

  • Новичок
  • 8
  • 0 / 0
Код: html4strict
<form id="vid" name="vid" action="<?php echo JURI::getInstance()->tostring();?>" method="post">
<input type="submit" value="1" name="variant1">
<input type="submit" value="2" name="variant2">
</form>
Код: php-brief
<?php
$variant1 = JRequest::getVar('variant1', '');
$variant2 = JRequest::getVar('variant2', '');
$session =& JFactory::getSession();
if ($variant1) $session->set("variant", $variant1);
if ($variant2) $session->set("variant", $variant2);
$variant = $session->get("variant", 1);
if ($variant ==1  ) {
echo $tpl->fetch( 'browse/includes/browse_notables.tpl.php' ) ;
} else {
echo $tpl->fetch( 'browse/includes/browse_listtable.tpl.php' );
}
?>

Добрый день! Подскажите, кто знает, что-то не могу добиться толку. Этот код использовал, на сайт вставил - http://www.profood.by/katalog/category/81/elektricheskoe/parokonvektsionnie-pechi/teplovoe-oborudovanie
Но как сделать так, чтобы выводилось при нажатии на "1", так как оно и выводится сейчас в шаблоне, т.е. по 1 товару на строку, а при нажатии на "2" по три товара на строку и с измененным шаблоном вывода (т.е. например шаблон где вывод только название + картинка + цена).
Может можно как-то задать $products_per_row=3;
Только где... и как еще заставить другой шаблон использоваться...
*

aleks_yug

  • Давно я тут
  • 630
  • 83 / 0
Но как сделать так, чтобы выводилось при нажатии на "1", так как оно и выводится сейчас в шаблоне, т.е. по 1 товару на строку, а при нажатии на "2" по три товара на строку и с измененным шаблоном вывода (т.е. например шаблон где вывод только название + картинка + цена).
Может можно как-то задать $products_per_row=3;
Только где... и как еще заставить другой шаблон использоваться...
Менять вручную значение в  $products_per_row не нужно.
В этом коде используется переключение между browse_listtable.tpl.php (по умолчанию) и browse_notables.tpl.php (подключается один из browseX). В настройках админки магазина, в данном случае нужно выставить Product List (no table, div-based). Подключаться будет  browse_listtable.tpl.php. А переключение поведет на один из выбранных шаблонов browseX. В админке также необходимо выставить - по сколько товаров в строке должно отображаться в категории (именно для второго варианта) И все будет работать - Федор все отлично описал.
*

sinyak-image

  • Новичок
  • 8
  • 0 / 0
Менять вручную значение в  $products_per_row не нужно.
В этом коде используется переключение между browse_listtable.tpl.php (по умолчанию) и browse_notables.tpl.php (подключается один из browseX). В настройках админки магазина, в данном случае нужно выставить Product List (no table, div-based). Подключаться будет  browse_listtable.tpl.php. А переключение поведет на один из выбранных шаблонов browseX. В админке также необходимо выставить - по сколько товаров в строке должно отображаться в категории (именно для второго варианта) И все будет работать - Федор все отлично описал.
Спасибо! Наконец-то получилось. Осталось только терь всё перелопатить в шаблоне, а то ерунда полная.
*

aleks_yug

  • Давно я тут
  • 630
  • 83 / 0
Ну все правильно. Только теперь нужно сделать соответствующий шаблон browse (тот. который есть сейчас. под 3 товара в строку никак не пойдет). Да и browse_listtable лучше бы переделать... С синтаксисом поосторожнее - лучше бы сначала все на локалке...
*

sinyak-image

  • Новичок
  • 8
  • 0 / 0
Ну все правильно. Только теперь нужно сделать соответствующий шаблон browse (тот. который есть сейчас. под 3 товара в строку никак не пойдет). Да и browse_listtable лучше бы переделать... С синтаксисом поосторожнее - лучше бы сначала все на локалке...

Да, поковырял свой browse - сделал. А вот browse_listtable отредактировать так и не получилось как хочется.
Может подскажете, хочу обрамить каждый товар из списка отдельной рамкой.
Делаю через добавление div стиля из файла theme.css, но обрамить получается либо все полностью товары в одной рамке



, либо отдельно рамку


, либо много рамок



Приведу свой код, и прошу направить мой div в нужное русло, а то что-то совсем запарился...

<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); ?>
<?php echo $buttons_header // The PDF, Email and Print buttons ?>
<?php echo $browsepage_header // The heading, the category description ?>
<?php echo $parameter_form // The Parameter search form ?>
<?php echo $orderby_form // The sort-by, order-by form PLUS top page navigation ?>
<?php
$data =array(); // Holds the rows of products
$i = 1; $row = 0; // Counters

// Creates a new HTML_Table object that will help us
// to build a table holding all the products

?>
<div class="browseProductContainer-spisok">
<?php


$table =& new HTML_Table('width="100%"');
$table->addRow( $tableheader, 'class="sectiontableheader"', 'th', true );            
foreach( $products as $product ) {

      foreach( $product as $attr => $val ) {
         // Using this we make all the variables available in the template
         // translated example: $this->set( 'product_name', $product_name );
         $this->set( $attr, $val );
      }

      $data[$row][] = '<a href="'.$product['product_flypage'].'" title="'.$product['product_name'].'">'.$product['product_name'].'</a>';
            
      $data[$row][] = '<a href="'.$product['product_flypage'].'" title="'.$product['product_name'].'">'
                  . ps_product::image_tag( $product['product_thumb_image'] )
                  . '</a>';
      $data[$row][] = $product['product_type'];
      if( $product['has_addtocart'] ) {
         $data[$row][] = $product['form_addtocart'];
      }
      else {
         $data[$row][] = '<a href="'.$product['product_flypage'].'" title="'.$product['product_name'].'">'
                     .   $product['product_details']
                     .   '</a>';

      }

      $row++;   
      
}
// Loop through each row and build the table
foreach($data as $key => $value) {
   
   $table->addRow( $data[$key], 'class="sectiontableentry'.$i.'"', 'td', true );
   $i = $i == 1 ? 2 : 1;
}

?>
</div>
<?php


// Display the table
echo $table->toHtml();
?>
<br class="clr" /><br />
<?php
// Show Featured Products
if( $this->get_cfg( 'showFeatured', 1 )) {
    /* featuredproducts(random, no_of_products,category_based) no_of_products 0 = all else numeric amount
    edit featuredproduct.tpl.php to edit layout */
    echo $ps_product->featuredProducts(true,10,true);
} ?>
<?php echo $recent_products ?>
<?php echo $browsepage_footer ?>
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
2sinyak-image: Нужно задать класс или id для cтаршего div в browse_x.php
Не будь паразитом, сделай что-нибудь самостоятельно!
*

aleks_yug

  • Давно я тут
  • 630
  • 83 / 0
В browse_listtable есть блок кода:
foreach($data as $key => $value) {
      $table->addRow( $data[$key], 'class="sectiontableentry'.$i.'"', 'td', true );
   $i = $i == 1 ? 2 : 1;
}
Нужно найти в таблице стилей шаблона классы .sectiontableentry  и поиграть с ними. Вполне возможно. что у Вас их просто нет. В одном из вариантов у меня это выглядит так:
Спойлер
[свернуть]
В каждом конкретном случае делаете свое...
*

sinyak-image

  • Новичок
  • 8
  • 0 / 0
В browse_listtable есть блок кода:
foreach($data as $key => $value) {
      $table->addRow( $data[$key], 'class="sectiontableentry'.$i.'"', 'td', true );
   $i = $i == 1 ? 2 : 1;
}
Нужно найти в таблице стилей шаблона классы .sectiontableentry  и поиграть с ними. Вполне возможно. что у Вас их просто нет. В одном из вариантов у меня это выглядит так:
Спойлер
[свернуть]
В каждом конкретном случае делаете свое...
Да, спасибо, там уже вроде хоть и коряво, но сделал. Просто засунул все свои стили в один row

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

Короче говоря получилось что-то большое и страшное и запутаться можно, но как ни странно рабочее. http://www.profood.by/katalog/category/81/teplovoe-oborudovanie/elektricheskoe/parokonvektsionnie-pechi

Остались открытыми еще пару вопросов. 1. Как сделать переключение между видами не кнопками Submit как в коде:
Спойлер
[свернуть]

, а картинкой. Пишу код следующего вида

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

В CSS добавляю

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

Но результат нулевой... не отображается картинка и все тут. Может кто подскажет как безболезненно этот код кнопок переделать в картинки?
*

aleks_yug

  • Давно я тут
  • 630
  • 83 / 0
Но результат нулевой... не отображается картинка и все тут. Может кто подскажет как безболезненно этот код кнопок переделать в картинки?
да тупо создать какие-нибудь переменные с путем к картинкам:
$img_td ="путь";
$img_list="путь";
И засунуть эхом в значение. Ну как-то так...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

VirtueMart - SMS уведомления о сделаном заказе.

Автор bork

Ответов: 42
Просмотров: 23563
Последний ответ 26.07.2021, 22:11:25
от Oleg91
Отчеты и статистика для VirtueMart

Автор 4kict

Ответов: 25
Просмотров: 10539
Последний ответ 14.01.2021, 00:09:53
от gartes
Как реализовать: товары, которых нет в наличии в конец списка категории?

Автор Girevik

Ответов: 1
Просмотров: 1555
Последний ответ 02.11.2017, 10:52:04
от P_B
IceVmCart - новый бесплатный модуль корзины для VirtueMart

Автор Grig2009

Ответов: 105
Просмотров: 54540
Последний ответ 05.02.2017, 11:44:02
от Super_Panda
Модуль недавно просмотренные товары для VirtueMart 1.1.X

Автор aleks_yug

Ответов: 97
Просмотров: 28700
Последний ответ 25.10.2016, 15:03:07
от Igoritaly