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

Solser

  • Захожу иногда
  • 64
  • 16 / 1
В общем стоит задача: чтобы у товара , который показывается в карусели товаров (mod_productscroller) показывалось кроме названия товара еще и фирма-производитель (manufacturer \ mf_name). Как сделать, подскажите?
Joomla 1.5.9 + Virtuemart 1.1.3.
Заранее признателен.
*

PG II

  • Осваиваюсь на форуме
  • 19
  • 5 / 0
Т.К. совсем нет времени, могу только подсказать куда копать...

\administrator\components\com_virtuemart\classes\ps_product.php
добавить функцию...
Код
	function show_mf_name($product_id ) {
echo $this->get_mf_name( $product_id );
}

далее в файл...
\modules\mod_productscroller\mod_productscroller.php
в функцию productScroller добавить...
Код
$this->mf_name =  $params->get('mf_name', "yes");

а затем в этом же файле после строки...
Код
	$ps_product->show_snapshot( $row->product_sku, $show_price, $show_addtocart, $show_product_name );

добавить...
Код
	echo '<br>';
       $ps_product->show_mf_name($mf_name);

я думаю если что, меня поправят...
*

Solser

  • Захожу иногда
  • 64
  • 16 / 1
Спасибо, похоже мысль правильная, я там же копал. Увы, пока предложенное изменение эффекта не дает. Явно где-то рядом, какой то ньюанс не учитываем.

в файле: \administrator\components\com_virtuemart\classes\ps_product.php  есть функция получения имени производителя

function get_mf_name($product_id) {
      $db = new ps_DB;

      $q = "SELECT mf_name,#__{vm}_manufacturer.manufacturer_id FROM #__{vm}_product_mf_xref,#__{vm}_manufacturer ";
      $q .= "WHERE product_id='$product_id' ";
      $q .= "AND #__{vm}_manufacturer.manufacturer_id=#__{vm}_product_mf_xref.manufacturer_id";

      $db->query($q);
      $db->next_record();
      if ($db->f("mf_name")) {
         return $db->f("mf_name");
      }
      else {
         return "";
      }
   }

После я и вставляю функцию показа show_mf_name.

function show_mf_name($product_id ) {
      echo $this->get_mf_name( $product_id );
   }

По идее здесь должно сработать.
Видимо что-то в mod_productscroller не так прописываем.
Если кто может подключиться и додавить проблему, буду признателен.
Возможно, исправление будет полезно многим, так как если в магазине много производителей похожего товара, то однозначно нужно выводить бренд в товар.
*

PG II

  • Осваиваюсь на форуме
  • 19
  • 5 / 0
Один момент упустил...
Ещё надо добавить в функцию displayScroller
Код
			$mf_name = ( $this->mf_name == "yes" ) ? true : false;

при этом у меня выводиться первый в списке производитель, при этом у всех без разбору...

прикрепляю на всякий случай...

[вложение удалено Администратором]
« Последнее редактирование: 07.03.2009, 07:50:15 от PG II »
*

morph

  • Давно я тут
  • 924
  • 105 / 0
опять повторюсь.
$ps_product->show_snapshot( $row->product_sku, $show_price, $show_addtocart, $show_product_name );
так выводяться все товары в модулях
тоесть смотрим файл ps_product функция show_snapshot
в 1.1.3 функция снипшота шаблонизирована
components\com_virtuemart\themes\default\templates\common\productsnapshot.tpl.php
значит нужны эти 2 файла для правки отображения товаров в модулях вирта.


ну а по производителю в данном случае.....добавим ссыль на него
productsnapshot.tpl.php:(да можно и в модуле)
вставим на скорую руку:
Цитировать
<?php
echo "<br>";
 require_once(CLASSPATH . 'ps_product.php' );
  $ps_product = new ps_product;
$manufacturer_id = $ps_product->get_manufacturer_id($product_id);
  $manufacturer_name = $ps_product->get_mf_name($product_id);
  $manufacturer_link = "";
  if( $manufacturer_id && !empty($manufacturer_name) ) {
    $link = "$mosConfig_live_site/index2.php?page=shop.manufacturer_page&amp;manufacturer_id=$manufacturer_id&amp;output=lite&amp;option=com_virtuemart&amp;Itemid=".$Itemid;
   $text = $manufacturer_name;
    $manufacturer_link .= "<a href=\"$link\" target=\"_blank\" title=\"$text\">$text</a>";
  }
  echo $manufacturer_link;
 
  ?>
де надо.
*

Solser

  • Захожу иногда
  • 64
  • 16 / 1
Спасибо большое за помощь. Общими усилиями удалось решить задачу. Всех благодарю.
*

Camelia

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
А можно ли установить размер изображений в скроллере, отличный от превьюшек?
Никак сама не додумаю.. Подскажите, третий день бьюсь..
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
в ps_product.php скопировать show_snapshot, назвать её как-нибудь show_snapshot_my, поставить нужный размер и из скроллера вызывать именно её.
*

Camelia

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Все поняла, но вот только подскажите как "поставить нужный размер". Что именно добавить в код??
Спасибо заранее.

 Вот код сам. Где добавить размер изображения??


function show_snapshot($product_sku, $show_price=true, $show_addtocart=true, $show_product_name = true ) {
      echo $this->product_snapshot( $product_sku, $show_price, $show_addtocart, $show_product_name );
   }
« Последнее редактирование: 18.05.2009, 17:21:25 от Camelia »
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
*

Camelia

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Сделала. Но где именно размер изображения установить?
Есть такая строчка. Предполагаю, что в ней. Но никаких изменений не происходит..

         $tpl->set( 'product_thumb_image', $db->f("product_full_image"), "alt=\"".$db->f("product_name")."\"");



         
*

Camelia

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Неа, не работает(( Видимо еще где-то поменять надо...

*

Camelia

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
1. В mod_productscroller.php прописала ссылку на show_snapshot_my
2. В ps_product.php добавила

function show_snapshot_my($product_sku, $show_price=true, $show_addtocart=true, $show_product_name = true ) {
      echo $this->product_snapshot( $product_sku, $show_price, $show_addtocart, $show_product_name );
   }

и ниже еще 

function product_snapshot_my( $product_sku, $show_price=true, $show_addtocart=true, $show_product_name = true ) {

      global $sess, $mm_action_url;

      $db = new ps_DB;

      require_once(CLASSPATH.'ps_product_category.php');
      $ps_product_category = new ps_product_category;

      $q = "SELECT product_id, product_name, product_parent_id, product_thumb_image,product_full_image, product_desc FROM #__{vm}_product WHERE product_sku='$product_sku'";
      $db->query( $q );

      if ($db->next_record()) {
         $product_id = $db->f("product_id" );
         $tpl = new $GLOBALS['VM_THEMECLASS']();
         
         $cid = $ps_product_category->get_cid( $product_id );

         $tpl->set( 'product_id', $product_id);
         
         $tpl->set( 'product_name', $db->f("product_name") );
         
         $tpl->set( 'product_desc', $db->f("product_desc") );
         
         $tpl->set( 'show_product_name', $show_product_name );
         
         if ($db->f("product_parent_id")) {
            $url = "?page=shop.product_details&category_id=$cid&flypage=".$this->get_flypage($db->f("product_parent_id"));
            $url .= "&product_id=" . $db->f("product_parent_id");
         } else {
            $url = "?page=shop.product_details&category_id=$cid&flypage=".$this->get_flypage($db->f("product_id"));
            $url .= "&product_id=" . $db->f("product_id");
         }
         $product_link = $sess->url($mm_action_url. "index.php" . $url);
         $tpl->set( 'product_link', $product_link );
         $tpl->set( 'product_thumb_image', $db->f("product_full_image"), "height=\"200\" alt=\"".$db->f("product_name")."\"");

         if (_SHOW_PRICES == '1' && $show_price) {
            // Show price, but without "including X% tax"
            $price = $this->show_price( $db->f("product_id"), true );
            $tpl->set( 'price', $price );
         }
         if (USE_AS_CATALOGUE != 1 && $show_addtocart && isset( $GLOBALS['product_info'][$product_id]['price']['product_price_id'] )) {
            $url = "?page=shop.cart&func=cartAdd&product_id=" .  $db->f("product_id");
            $addtocart_link = $sess->url($mm_action_url. "index.php" . $url);
            $tpl->set( 'addtocart_link', $addtocart_link );
         }
         return $tpl->fetch( 'common/productsnapshot.tpl.php');
      }
      
      return '';
      
   }


Все правильно?
3. Мы же не заменяем function product_snapshot? Он же остается?


*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
вместо
Код
function show_snapshot_my($product_sku, $show_price=true, $show_addtocart=true, $show_product_name = true ) {
      echo $this->product_snapshot( $product_sku, $show_price, $show_addtocart, $show_product_name );
   }
нужно сделать
Код
function show_snapshot_my($product_sku, $show_price=true, $show_addtocart=true, $show_product_name = true ) {
      echo $this->product_snapshot_my( $product_sku, $show_price, $show_addtocart, $show_product_name );
   }
иначе получается, что вы свою новую функцию product_snapshot_my ниоткуда не вызываете.
*

Camelia

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Ну точно, опять моя невнимательность!!
Только, правда, все равно ничего не выходит... Ну в чем же еще дело???

А в файле common/productsnapshot.tpl.php ничего менять не нужно?
*

Camelia

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Ясен. Но толку маловато...
Еще больше запутало следующее наблюдение. Поменяла в настройках "размер мини-изображения", оставила там только высоту. Так вот после этого в продуктскроллере те картинки, которые были "альбомными" действительно стали меньше (как прописала в снапшопе), а вот "книжного" формата остались прежними.
После этого вообще ничего не понимаю...
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
ага, похоже в 1.1.3 проще -в tpl всё можно сделать
вместо
Код
echo ps_product::image_tag( $product_thumb_image, "alt=\"".$product_name."\"");
поставь
Код
echo ps_product::image_tag( $product_thumb_image, "alt=\"".$product_name."\"",1,,200);

Формат imagetag:
Код
image_tag($image, $args="", $resize=1, $path_appendix='product', $thumb_width=0, $thumb_height=0 )
*

morph

  • Давно я тут
  • 924
  • 105 / 0
 return $tpl->fetch( 'common/productsnapshot.tpl.php');
так и показывает путь к шаблону снипшета :)
если копируете функцию то надо и файл productsnapshot.tpl.php новый с другим названием создать и прописать ссыль на него из функции,ну и править соответственно отображение уже в новом файле шаба.в вирте 1.1.3 почти все так выведено )
*

Camelia

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Спасибо, конечно, за помощь, но ничего не выходит. Начинаю отчаиваться...
Создала common/productsnapshot_my.tpl.php, в котором поменяла

echo ps_product::image_tag( $product_thumb_image, "alt=\"".$product_name."\"");

на

echo ps_product::image_tag( $product_thumb_image, "alt=\"".$product_name."\"",1,,200);

в ps_product вместо

function show_image($image, $args="", $resize=1, $path_appendix="product") {
      echo $this->image_tag($image, $args, $resize, $path_appendix);
   }

поставила

function show_image($image, $args="", $resize=1, $path_appendix="product") {
      echo $this->image_tag($image, $args="", $resize=1, $path_appendix='product', $thumb_width=0, $thumb_height=0 );
   }

а также

function image_tag($image, $args="", $resize=1, $path_appendix='product', $thumb_width=0, $thumb_height=0 ) {

Теперь картинки на сайте вообще не отображаются..

*

Camelia

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Все вернула назад, все равно картинки большие и разной высоты..
Beagler, пожалуйста, укажите последовательность действий. У вас на сайте, по-моему то, что нужно.
Думаю, не только мне это пригодится. vm 1.1.3
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
*

Camelia

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Ясно. Ну, значит, придется скроллер совсем отключать. ((
Жаль...
*

Camelia

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
На http://forum.virtuemart.net/index.php?topic=53274.0 нашла вроде то, что мне нужно, но все равно до конца не пойму на счет Mootools. Куда их вставлять?..

// default image sizes
    var maxShopImageWidth = 150;
    var maxShopImageHeight = 100;
    window.addEvent( 'load', function()
    {
      var horiz = $$('.module_scroller img');
      $each( horiz, resizeHoriz );
      $$('.module_scroller').setStyle( 'visibility', 'visible' );
    });
   
    function resizeHoriz( el, i )
    {
      var oSize, ox, oy;
      oSize = el.getSize();
      ox = oSize.size.x;
      oy = oSize.size.y;
      // no sense in upscaling image - causes layout problems
      if( maxShopImageWidth < ox )
      {
        el.setStyle( 'width', maxShopImageWidth );
        el.setStyle( 'height', ( maxShopImageWidth * oy ) / ox );
      }
    }
*

Camelia

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Ну неужели никто не сталкивался с этим? Как изменить размер картинок в продукт скроллере? joom 1.0.12 vm1.1.3
*

sanax

  • Новичок
  • 1
  • 0 / 0
Подскажите, пожалуйста, как в mod_productscroller на кнопке "Add to cart" изменить надпись? Спасибо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Добавить модуль в товар

Автор Tokyo

Ответов: 2
Просмотров: 3013
Последний ответ 11.05.2015, 20:43:32
от tierex
Логотип производителя вместо ссылки[Super-Puper]

Автор john123

Ответов: 8
Просмотров: 4344
Последний ответ 30.04.2014, 17:26:43
от terr
В VirtueMart как добавить капчу ко всем формам?

Автор tiptopvkr

Ответов: 0
Просмотров: 1249
Последний ответ 02.03.2014, 13:25:17
от tiptopvkr
Как в VirtueMart 1.1.9 stable добавить на товар картинку «новинка»?

Автор blade86

Ответов: 12
Просмотров: 16699
Последний ответ 14.09.2013, 18:45:16
от blade86
Как добавить в выподающий список сортировки - "По производителю"?

Автор al982

Ответов: 1
Просмотров: 1500
Последний ответ 10.06.2013, 20:44:58
от al982