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

zoloto

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
      <?php if(empty($_REQUEST['page'])||$_REQUEST['page']=="shop.index"){ ?>   
      <!-- BEGIN: SLIDESHOW -->

         <jdoc:include type="modules" name="slideshow"  style="xhtml" />

      
      <!-- END: SLIDESHOW -->
      <?php } ?>
*

M_Leo

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
      <?php if(empty($_REQUEST['page'])||$_REQUEST['page']=="shop.index"){ ?>   
      <!-- BEGIN: SLIDESHOW -->

         <jdoc:include type="modules" name="slideshow"  style="xhtml" />

      
      <!-- END: SLIDESHOW -->
      <?php } ?>

Это ответ на мой вопрос? Попробывал вставить сразу после
Цитировать
<?php
 $option = JRequest::getVar('option', null);
 $page = JRequest::getVar('page', null);
?>        
   <?php if ( $this->countModules('right') && $option=='com_virtuemart' && $page !='checkout.index' && $page!='shop.cart' && $page!='account.order_details' && $page !='checkout.thankyou' && $page !='shop.product_details' && $page !='checkout.index' ) {?>                                    
                           <div id="bodyroundright">
                              <div id="rightround">
                                 <div id="rightround_inner">
                                    <jdoc:include type="modules" name="right" style="rounded" />
                                 </div>
                              </div> <!-- end rightround -->
                           </div>
                           <?php } ?>

не помогло. Или надо куда-то в другое место?
*

lakshmi

  • Захожу иногда
  • 188
  • 5 / 0
В моем случае помогло это
Код
if ( $option=='com_content') {?>
<jdoc:include type="modules" name="tovarindex" style="xhtml"/>
<?php } ?>
*

lakshmi

  • Захожу иногда
  • 188
  • 5 / 0
$id !='46' - это ид не равно 46, когда у тебя по условию равно.
Код
<?php if ( ($this->countModules('left') && $option=='com_virtuemart' && $page !='checkout.index' && $page!='shop.cart' && $page!='account.order_details' && $page !='shop.browse' && $page !='checkout.thankyou' && $page !='shop.product_details') || 
($view=='article' && ($id =='46' || $id =='...' || $id =='...')) ) {?>
в иды вставь все нужные тебе значения.
О за это респект автору  :D ;D *DRINK*
*

watties

  • Новичок
  • 2
  • 0 / 0
Привет, форумчане! У меня такая же проблема,как писали на форуме...У меня модули "Специальные предложения" и "Случайные товары" показываются не только на главной,но и в товарах. раньше было не так,и само по себе поменялось..уже неделю ищу ответ, пробую варианты - не помогает. Подозреваю что изменение это могло произойти после установки мной SEO оптимизации,но сейчас я её выключил,а эти 2 модуля всё-равно показываются в списке товаров а не только в главной странице... (файл index.php моего шаблона воткнул под спойлер)
Спойлер
[свернуть]
*

Curt

  • Осваиваюсь на форуме
  • 37
  • 3 / 0
Вроде тут есть решение, но у меня не как не получается его применить
Использую Joomla 1.5.25 + VirtueMart 1.1.9, шаблон от студии yootheme.
VirtueMart привязан к пункту меню.
Если я правильно понял, по этому пути находиться файл для редактирования:
/templates/Название_шаблона/ index.php
При добавлении кода отображается вместо магазина белая страница.
Код
<?php
$option = JRequest::getVar('option', null);
$page = JRequest::getVar('page', null);
?>
<?php if ( $this->countModules('Название_позиции_модуля')>0 && $option=='com_VirtueMart' && $page =='shop.index' ) { ?>
<jdoc:include type="modules" name="Название_позиции_модуля" style="xhtml"/>
<?php } ?>
Если я делаю что-то не так, умоляю, подскажите. Отображение модуля только на главной VirtueMart очень важный момент.

Вот мой  index.php
Код
<?php
/**
* @package   yoo_vanilla
* @author    YOOtheme http://www.yootheme.com
* @copyright Copyright (C) YOOtheme GmbH
* @license   YOOtheme Proprietary Use License (http://www.yootheme.com/license)
*/

// no direct access
defined('_JEXEC') or die('Restricted access');

// include config
include_once(dirname(__FILE__).'/config.php');

// get warp
$warp =& Warp::getInstance();

// load main template file, located in /layouts/template.php
echo $warp->template->render('template');
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Там же написано
load main template file, located in /layouts/template.php
открывайте template.php и смотрите, что в нем
*

Curt

  • Осваиваюсь на форуме
  • 37
  • 3 / 0
Спасибо за быстрый ответ.  *DRINK*
Подскажите, пожалуйста, куда нужно вставить код.
Методом тыка пробую, то одно появиться то другое чем ниже ставлю, тем больше всего отображается, кодировка слетела.
Вставляю код ниже, позиция модуля maintop.

Код
<?php
$option = JRequest::getVar('option', null);
$page = JRequest::getVar('page', null);
?>
<?php if ( $this->countModules('maintop')>0 && $option=='com_VirtueMart' && $page =='shop.index' ) { ?>
<jdoc:include type="modules" name="maintop" style="xhtml"/>
<?php } ?>

template.php
Код
<?php
/**
* @package   yoo_vanilla
* @author    YOOtheme http://www.yootheme.com
* @copyright Copyright (C) YOOtheme GmbH
* @license   YOOtheme Proprietary Use License (http://www.yootheme.com/license)
*/

// get template configuration
include(dirname(__FILE__).'/template.config.php');

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->warp->config->get('language'); ?>" lang="<?php echo $this->warp->config->get('language'); ?>" dir="<?php echo $this->warp->config->get('direction'); ?>" >
<head>
<?php echo $this->warp->template->render('head'); ?>
<link rel="apple-touch-icon" href="<?php echo $this->warp->path->url('template:apple_touch_icon.png'); ?>" />
</head>

<body id="page" class="yoopage <?php echo $this->warp->config->get('columns'); ?> <?php echo $this->warp->config->get('itemcolor'); ?> <?php echo $this->warp->config->get('toolscolor'); ?> <?php echo 'style-'.$this->warp->config->get('style'); ?> <?php echo 'font-'.$this->warp->config->get('font'); ?> <?php echo $this->warp->config->get('webfonts'); ?> <?php echo $this->warp->config->get('contentwrapper-class'); ?> <?php echo !$this->warp->modules->count('top + topblock')? "no-top": ""; ?> <?php echo !$this->warp->modules->count('bottom + bottomblock')? "no-bottom": ""; ?>">

<?php if ($this->warp->modules->count('absolute')) : ?>
<div id="absolute">
<?php echo $this->warp->modules->render('absolute'); ?>
</div>
<?php endif; ?>

<div id="page-header">
<div class="page-header-1">

<div class="wrapper">

<div id="header">

<div id="toolbar">

<?php if ($this->warp->modules->count('toolbarleft')) : ?>
<div class="left">
<?php echo $this->warp->modules->render('toolbarleft'); ?>
</div>
<?php endif; ?>

<?php if ($this->warp->modules->count('toolbarright')) : ?>
<div class="right">
<?php echo $this->warp->modules->render('toolbarright'); ?>
</div>
<?php endif; ?>

<?php if($this->warp->config->get('date')) : ?>
<div id="date">
<?php echo $this->warp->config->get('actual_date'); ?>
</div>
<?php endif; ?>

</div>

<?php  if ($this->warp->modules->count('menu')) : ?>
<div id="menu">

<?php echo $this->warp->modules->render('menu'); ?>

<?php if ($this->warp->modules->count('search')) : ?>
<div id="search">
<?php echo $this->warp->modules->render('search'); ?>
</div>
<?php endif; ?>

</div>
<?php endif; ?>

<?php if ($this->warp->modules->count('logo')) : ?>
<div id="logo">
<?php echo $this->warp->modules->render('logo'); ?>
</div>
<?php endif; ?>

<?php if ($this->warp->modules->count('banner')) : ?>
<div id="banner">
<?php echo $this->warp->modules->render('banner'); ?>
</div>
<?php endif;  ?>

</div>
<!-- header end -->

</div>

</div>
</div>

<?php if ($this->warp->modules->count('top + topblock')) : ?>
<div id="page-top">
<div class="page-top-1">
<div class="page-top-2">

<div class="wrapper">


<div id="top">
<?php if($this->warp->modules->count('topblock')) : ?>
<div class="vertical width100">
<?php echo $this->warp->modules->render('topblock'); ?>
</div>
<?php endif; ?>

<?php if ($this->warp->modules->count('top')) : ?>
<?php echo $this->warp->modules->render('top', array('wrapper'=>"horizontal float-left", 'layout'=>$this->warp->config->get('top'))); ?>
<?php endif; ?>
</div>
<!-- top end -->

</div>

</div>
</div>
</div>
<?php endif; ?>

<div id="page-body">
<div class="page-body-1">
<div class="page-body-2">

<div class="wrapper">

<div class="middle-wrapper">
<div id="middle">
<div id="middle-expand">

<div id="main">
<div id="main-shift">

<?php if ($this->warp->modules->count('maintop')) : ?>
<div id="maintop">
<?php echo $this->warp->modules->render('maintop', array('wrapper'=>"horizontal float-left", 'layout'=>$this->warp->config->get('maintop'))); ?>
</div>
<!-- maintop end -->
<?php endif; ?>

<div id="mainmiddle">
<div id="mainmiddle-expand">

<div id="content">
<div id="content-shift">

<?php if ($this->warp->modules->count('contenttop')) : ?>
<div id="contenttop">
<?php echo $this->warp->modules->render('contenttop', array('wrapper'=>"horizontal float-left", 'layout'=>$this->warp->config->get('contenttop'))); ?>
</div>
<!-- contenttop end -->
<?php endif; ?>

<div id="component" class="floatbox">

<?php if ($this->warp->modules->count('breadcrumbs')) : ?>
<?php echo $this->warp->modules->render('breadcrumbs'); ?>
<?php endif; ?>

<?php echo $this->warp->template->render('content'); ?>

</div>

<?php if ($this->warp->modules->count('contentbottom')) : ?>
<div id="contentbottom">
<?php echo $this->warp->modules->render('contentbottom', array('wrapper'=>"horizontal float-left", 'layout'=>$this->warp->config->get('contentbottom'))); ?>
</div>
<!-- mainbottom end -->
<?php endif; ?>

</div>
</div>
<!-- content end -->

<?php if($this->warp->modules->count('contentleft')) : ?>
<div id="contentleft" class="vertical">
<div class="contentleft-1"></div>
<?php echo $this->warp->modules->render('contentleft'); ?>
</div>
<?php endif; ?>

<?php if($this->warp->modules->count('contentright')) : ?>
<div id="contentright" class="vertical">
<div class="contentright-1"></div>
<?php echo $this->warp->modules->render('contentright'); ?>
</div>
<?php endif; ?>

</div>
</div>
<!-- mainmiddle end -->

<?php if ($this->warp->modules->count('mainbottom')) : ?>
<div id="mainbottom">
<?php echo $this->warp->modules->render('mainbottom', array('wrapper'=>"horizontal float-left", 'layout'=>$this->warp->config->get('mainbottom'))); ?>
</div>
<!-- mainbottom end -->
<?php endif; ?>

</div>
</div>

<?php if($this->warp->modules->count('left')) : ?>
<div id="left" class="vertical">
<?php echo $this->warp->modules->render('left'); ?>
</div>
<?php endif; ?>

<?php if($this->warp->modules->count('right')) : ?>
<div id="right" class="vertical">
<?php echo $this->warp->modules->render('right'); ?>
</div>
<?php endif; ?>

</div>
</div>
</div>

</div>

</div>
</div>
</div>

<?php if ($this->warp->modules->count('bottom + bottomblock')) : ?>
<div id="page-bottom">
<div class="page-bottom-1">
<div class="page-bottom-2">

<div class="wrapper">


<div id="bottom">
<?php if ($this->warp->modules->count('bottom')) : ?>
<?php echo $this->warp->modules->render('bottom', array('wrapper'=>"horizontal float-left", 'layout'=>$this->warp->config->get('bottom'))); ?>
<?php endif; ?>

<?php if($this->warp->modules->count('bottomblock')) : ?>
<div class="vertical width100">
<?php echo $this->warp->modules->render('bottomblock'); ?>
</div>
<?php endif; ?>
</div>
<!-- bottom end -->

</div>

</div>
</div>
</div>
<?php endif; ?>

<div id="page-footer">
<div class="wrapper">

<div id="footer">

<?php if ($this->warp->modules->count('footer + debug')) : ?>
<a class="anchor" href="#page"></a>
<?php echo $this->warp->modules->render('footer'); ?>
<?php echo $this->warp->modules->render('debug'); ?>
<?php endif; ?>

</div>
<!-- footer end -->

</div>
</div>

<?php echo $this->render('footer'); ?>

</body>
</html>
« Последнее редактирование: 19.03.2012, 20:02:25 от Curt »
*

Curt

  • Осваиваюсь на форуме
  • 37
  • 3 / 0
Все получилось, нашёл div вывода нужной мне позиции <div id="maintop"> и заменил внутренность на это.
Код
<?php if(empty($_REQUEST['page'])||$_REQUEST['page']=="shop.index"){ ?>
<jdoc:include type="modules" name="maintop" style="xhtml" />
<?php } ?>
Все заработало только не сохранился стиль вывода позиции.
*

Curt

  • Осваиваюсь на форуме
  • 37
  • 3 / 0
Ребята может кто-то сможет помочь, раньше стиль модуля устанавливался через меню модуля, где я добавлял «Суффикс класса модуля».

Оригинал:
Код
										<?php if ($this->warp->modules->count('maintop')) : ?>
<div id="maintop">
<?php echo $this->warp->modules->render('maintop', array('wrapper'=>"horizontal float-left", 'layout'=>$this->warp->config->get('maintop'))); ?>
</div>
<!-- maintop end -->

После привязки модуля к главной странице, посредством замены куска кода «Оригинал:» тем, что ниже, слетел стиль отображения модуля.

Код
										<?php if ($this->warp->modules->count('maintop')) : ?>
<div id="maintop">
<?php if(empty($_REQUEST['page'])||$_REQUEST['page']=="shop.index"){ ?>
                                         <jdoc:include type="modules" name="maintop" style="xhtml" />
                                            <?php } ?>
</div>
<!-- maintop end -->

Самому решить не удается, подскажите, пожалуйста, может, есть возможность вернуть стиль отображения.
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
Код
<?php if ($this->warp->modules->count('maintop')) : ?>
<div id="maintop">
<?php if(empty($_REQUEST['page'])||$_REQUEST['page']=="shop.index"){
echo $this->warp->modules->render('maintop', array('wrapper'=>"horizontal float-left", 'layout'=>$this->warp->config->get('maintop')));
} ?>
</div>
<!-- maintop end -->
*

Marinka

  • Новичок
  • 7
  • 0 / 0
Итак я добился того чего хотел! Прошу любить и жаловать способ для отображения модуля   только на главной странице сайта, при условии что VirtueMart не опубликован в меню и главной стоит обычная страница (стандартный шаблон материала). Способ работает на Joomla 1.5.14 + VirtueMart 1.1.4  Код вставляем в файл index.php Вашего шаблона
Код
<?php
$option = JRequest::getVar('option', null);
$view = JRequest::getVar('view', null);
$id = JRequest::getVar('id', null);
?>
<?php if ( $this->countModules('center') && $option=='com_content' && $view =='article' && $id =='8' ){?>
<jdoc:include type="modules" name="center" style="xhtml"/>
<?php } ?>

Здесь у меня стоит значение $id =='8', Вы же ставите свой id страницы которая у Вас стоит на главной!
Этот метод единственный помог. Мне нужно было чтоб все что в позиции top отображалось на главной и только. Поставила VirtueMart Category List, назначила его только для главной и все работало, пока я не захотела его видоизменить. Как это сделать я не знала, посему поставила его же, но переделанный как мне надо, каким-то умельцем. Модуль стал красивым, но назначение его только для главной перестало работать. Вот и пришлось изгаляться.
Теперь у меня возник еще один вопрос. Пока я на локалхосте и без чпу вся эта конструкция пашет, но что делать, если я хочу ЧПУ? Может кто знает? Или это не реально учитывая вышеупомянутый код?
 
*

face2005

  • Захожу иногда
  • 107
  • 0 / 0
<?php if (JURI::current() == JURI::base()) : ?>
<jdoc:include type="modules" name="имя позици модуля ваше" />
<?php endif; ?>




 На данный момент лучший вариант проверки на главную
вставлять в файл шаблона отвечающий за вывод модулей. Обычно index.php
В клубных шаблонах ищите в папке layouts обычно
*

fotorider

  • Новичок
  • 9
  • 0 / 0
<?php if (JURI::current() == JURI::base()) : ?>
<jdoc:include type="modules" name="имя позици модуля ваше" />
<?php endif; ?>




 На данный момент лучший вариант проверки на главную
вставлять в файл шаблона отвечающий за вывод модулей. Обычно index.php
В клубных шаблонах ищите в папке layouts обычно

Joomla 2.5 VirtueMart 2

Единственный вариант, который мне помог. В моем случае правил файл layouts/default.php.  В настройках модуля ставил отображение на всех страницах..
*

alexspi

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
друзья приветствую

подскажите правильный синтаксис
исходный код вывода блока

Код: php
<?php if ($view->containsModules('right')) : ?>
<div class="art-layout-cell art-sidebar1">
<?php echo $view->position('right', 'art-block'); ?>

  <div class="cleared"></div>
</div>
<?php endif; ?>

нужно заменить на

Код: php
<?php
$option = JRequest::getVar('option', null);
$page = JRequest::getVar('page', null);
?>
<?php if ( $this->countModules('right') && $option=='com_VirtueMart' && $page !='checkout.index' && $page!='shop.cart' && $page!='account.order_details' && $page =='shop.browse' && $page !='checkout.thankyou' && $page !='shop.product_details' ) {?>
<jdoc:include type="modules" name="right" style="art-block" />
<?php } ?>

только вот как правильно заменить  простая замена ничего не даёт, позиция отображается пустой
« Последнее редактирование: 01.10.2012, 20:28:41 от alexspi »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Редактирование главной страницы VirtueMart

Автор cheni

Ответов: 13
Просмотров: 12580
Последний ответ 02.04.2015, 08:41:09
от flyingspook
Как сделать отображение атрибутов товара в категории ?

Автор Timer

Ответов: 0
Просмотров: 1653
Последний ответ 21.01.2015, 23:43:33
от Timer
Показ модуля на странице товара только

Автор EmAl

Ответов: 24
Просмотров: 4174
Последний ответ 27.05.2014, 08:15:01
от Mitriy-Bug
Подкатегории на главной VirtueMart 1.1.9+ Joomla 1.5

Автор Joury

Ответов: 11
Просмотров: 4127
Последний ответ 28.04.2014, 15:08:47
от ИринаМ
Отображение товаров в виде таблицы

Автор Doppelganger

Ответов: 183
Просмотров: 61356
Последний ответ 15.04.2014, 23:27:29
от 4ifir