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

god-master

  • Захожу иногда
  • 61
  • 2 / 0
На сколько знаю, в VirtueMart 1.1 есть такая функция, а можно ли сделать такое же и для VirtueMart 1.0?
*

god-master

  • Захожу иногда
  • 61
  • 2 / 0
Что, совсем не у кого нет решения?
Быть может, кто-то знает, как работает эта функция...? Чтобы постараться её реализовать...
*

aleks_yug

  • Давно я тут
  • 630
  • 83 / 0
На сколько знаю, в VirtueMart 1.1 есть такая функция, а можно ли сделать такое же и для VirtueMart 1.0?
http://extensions.joomla.org/extensions/extension-specific/virtuemart-extensions/virtuemart-stats/7356
*

god-master

  • Захожу иногда
  • 61
  • 2 / 0
Спасибо, но с этим файлом я был знаком уже.. =)
Тоже наткнулся на него, но он почему-то не устанавливается.
Пишет:
Цитировать
ERROR: Could not find a Joomla! XML setup file in the package.

По-видимому, он для Joomla 1.5, а у меня 1.0. Хотя на сайте указано, что он может быть использован и для 1.0...
*

aleks_yug

  • Давно я тут
  • 630
  • 83 / 0
Вот модуль, специально для 1.0
Ставил себе достаточно давно, что-то. кажется, доделывал но сейчас не припомню (однако работает исправно - industar-yug.ru)
У меня он задействован не везде - только в shop_browse и на странице товара, но в остальном все должно работать стандартно.

[вложение удалено Администратором]
*

god-master

  • Захожу иногда
  • 61
  • 2 / 0
Во, класс!
Спасибо, удружил - позарез такой модуль был нужен!
Весь интернет обшарил!
+1
*

aleks_yug

  • Давно я тут
  • 630
  • 83 / 0
Да, еще одно!
На строках - 18 и 46 желательно убрать "Нет просмотренных товаров", оставить только: ""
Почему-то отрабатывает не очень корректно...
*

god-master

  • Захожу иногда
  • 61
  • 2 / 0
А вот у меня второй товар два раза отображается... то есть, допустим, зашёл в 1 товар - он отобразился, зашёл во второй - он отобразился 2 раза.. У тебя на сайте не так..не мог бы кинуть код модуля с сайта?
*

aleks_yug

  • Давно я тут
  • 630
  • 83 / 0
Что-то менял, нужно вспомнить - просто сейчас не успеваю...
Вот файл с моего сайта.
На 80 строке обязательно поменяй в ссылке путь на свой сайт - прописано буквально.

[вложение удалено Администратором]
*

god-master

  • Захожу иногда
  • 61
  • 2 / 0
Это да..это сразу изменил..

Нашёл ошибку - там было в коде прописано
Код
$product_id !== 0
а нужно
Код
$product_id != 0
Ошибка в синтаксисе!

Хотя, странно, у тебя также, как и было..
Я изменил - у меня всё пошло..
*

aleks_yug

  • Давно я тут
  • 630
  • 83 / 0
Это да..это сразу изменил..

Нашёл ошибку - там было в коде прописано
Код
$product_id !== 0
а нужно
Код
$product_id != 0
Ошибка в синтаксисе!

Хотя, странно, у тебя также, как и было..
Я изменил - у меня всё пошло..
Ну, главное, заработало!
*

text

  • Захожу иногда
  • 93
  • 0 / 0
Что-то менял, нужно вспомнить - просто сейчас не успеваю...
Вот файл с моего сайта.
На 80 строке обязательно поменяй в ссылке путь на свой сайт - прописано буквально.


...отображается 2 раза товар, просмотренный вторым....

Вроде здесь надо что-то поменять, но не не знаю на что...

--------------
....

if($product2_id == $product_id) {
$t = 2;
}
}
// echo '</ul>'."\n";
if($product_id !== 0){
$rvp_bmb_list = $product_id.'|';
} else {
$rvp_bmb_list = '';

....
----------------
$no_products_msg = trim($params->get ('no_products_msg', "Нет просмотренных товаров"));

//Текст также не выводится (при заходе на сайт и когда ни один товар не был увиден в продакт-дитайлс)......

« Последнее редактирование: 11.06.2011, 21:27:20 от text »
*

aleks_yug

  • Давно я тут
  • 630
  • 83 / 0
Файлы в архиве. Не забудьте на 80 строке путь поменять...

[вложение удалено Администратором]
*

text

  • Захожу иногда
  • 93
  • 0 / 0
Файлы в архиве. Не забудьте на 80 строке путь поменять...

Спасибо.

 
« Последнее редактирование: 11.06.2011, 22:39:36 от text »
*

text

  • Захожу иногда
  • 93
  • 0 / 0
Файлы в архиве. Не забудьте на 80 строке путь поменять...

Обновили файл. Теперь 4-й товар в списке упомянут 2 раза, т.е. 2 раза его имя повторяется.
Вот ссылки на одинаковый товар:
1).../component/page,shop.product_details/flypage,flypage.tpl/product_id,/category_id,/option,com_virtuemart/Itemid,1/
2).../component/page,shop.product_details/flypage,flypage.tpl/product_id,8/category_id,/option,com_virtuemart/Itemid,1/

Если перейти по ссылке 1), то переход идет на страницу категорий товаров и появляется надпись:
"Извините, запрошенный товар не был найден!"
..и в модуле стоит "Нет просмотренных товаров" (хотя на предыдущй странице в списке было 4 имени + 2 одинаковых имени)

Далее иду на главную (там пара выствленных товара), захожу в один товар, другой - список "Просмотренные товары" пустой.
И сообщение "Нет просмотренных товаров" не появляется...


Может подскажите, как создать условие с исключением одинаковых имен...
Т.е. если имя в списке появляется более 1 раза, то имя-повтор удаляем, а имя, которое попало в список первым оставляем....
« Последнее редактирование: 11.06.2011, 22:52:40 от text »
*

aleks_yug

  • Давно я тут
  • 630
  • 83 / 0
Обновили файл. Теперь 4-й товар в списке упомянут 2 раза, т.е. 2 раза его имя повторяется.
Вот ссылки на одинаковый товар:
1).../component/page,shop.product_details/flypage,flypage.tpl/product_id,/category_id,/option,com_virtuemart/Itemid,1/
2).../component/page,shop.product_details/flypage,flypage.tpl/product_id,8/category_id,/option,com_virtuemart/Itemid,1/

Если перейти по ссылке 1), то переход идет на страницу категорий товаров и появляется надпись:
"Извините, запрошенный товар не был найден!"
..и в модуле стоит "Нет просмотренных товаров" (хотя на предыдущй странице в списке было 4 имени + 2 одинаковых имени)

Далее иду на главную (там пара выствленных товара), захожу в один товар, другой - список "Просмотренные товары" пустой.
И сообщение "Нет просмотренных товаров" не появляется...


Может подскажите, как создать условие с исключением одинаковых имен...
Т.е. если имя в списке появляется более 1 раза, то имя-повтор удаляем, а имя, которое попало в список первым оставляем....

text, проверил на индустаре - такого эффекта не наблюдается...  Давно уже не работал с 1.0.15. Мне кажется, что причина кроется в чем-то другом. Можете проверить - файлы модуля с этого сайта.
*

aleks_yug

  • Давно я тут
  • 630
  • 83 / 0
Обновили файл. Теперь 4-й товар в списке упомянут 2 раза, т.е. 2 раза его имя повторяется.
Вот ссылки на одинаковый товар:
1).../component/page,shop.product_details/flypage,flypage.tpl/product_id,/category_id,/option,com_virtuemart/Itemid,1/
2).../component/page,shop.product_details/flypage,flypage.tpl/product_id,8/category_id,/option,com_virtuemart/Itemid,1/

Если перейти по ссылке 1), то переход идет на страницу категорий товаров и появляется надпись:
"Извините, запрошенный товар не был найден!"
..и в модуле стоит "Нет просмотренных товаров" (хотя на предыдущй странице в списке было 4 имени + 2 одинаковых имени)

Далее иду на главную (там пара выствленных товара), захожу в один товар, другой - список "Просмотренные товары" пустой.
И сообщение "Нет просмотренных товаров" не появляется...


Может подскажите, как создать условие с исключением одинаковых имен...
Т.е. если имя в списке появляется более 1 раза, то имя-повтор удаляем, а имя, которое попало в список первым оставляем....

Адресок дадите? посмотреть...
*

text

  • Захожу иногда
  • 93
  • 0 / 0
Адресок дадите? посмотреть...

сайт не готов, тестируем разные модули
J1.0.12 LE, VM 1.0.11

Новые подробности теста кода:
n-й товар в списке упомянут 2 раза, т.е. 2 раза его имя повторяется, если n-ый товар занесен по дате последним.
Вот ссылки на одинаковый товар:
1).../component/page,shop.product_details/flypage,flypage.tpl/product_id,/category_id,/option,com_virtuemart/Itemid,1/
2).../component/page,shop.product_details/flypage,flypage.tpl/product_id,8/category_id,/option,com_virtuemart/Itemid,1/



Может подскажите, как создать условие с исключением одинаковых имен...
Т.е. если имя в списке появляется более 1 раза, то имя-повтор удаляем, а имя, которое попало в список первым оставляем....
или условие, по которому удаляются все имена со сылкой вида
/component/page,shop.product_details/flypage,flypage.tpl/product_id,/category_id,/option,com_virtuemart/Itemid,1/

Вот Код
--------------
<?php
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );

global $mosConfig_absolute_path,$product_id, $dd_list;

require_once( $mosConfig_absolute_path.'/components/com_virtuemart/virtuemart_parser.php' );

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

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

$db=new ps_DB;

$cookie_expire = trim($params->get ('cookie_expire', 3600));//off time of cockie 900=15min
$max_numb = trim($params->get ('max_numb', 20));//maximum number of links
$no_products_msg = trim($params->get ('no_products_msg', "Нет просмотренных товаров"));
$pre_content_template = trim($params->get ('pre_content_template', " "));
$rvp_content_template = trim($params->get ('content_template',
"<img style=\"float: left;\" src=\"{image_path}/{thumb_image}\" />
<a href=\"{link_url}\">{name}</a> <br style=\"clear: both;\" /> "));
$post_content_template = trim($params->get ('post_content_template', " "));



if ($product_id !== 0 ) {
$q  = "select product_name FROM #__{vm}_product ";
   $q .= "WHERE product_id = '".$product_id."' ";
   $q .= "and product_publish = 'Y'";
   $db->setQuery( $q );
   $rows = $db->loadObjectList();
   foreach ($rows as $row1) {
   $name = $row1->product_name;
   }

$q  = "select category_id FROM #__{vm}_product_category_xref ";
   $q .= "WHERE product_id = '".$product_id."' ";
   $q .= "and product_publish = 'Y'";
   $db->setQuery( $q );
   $rows = $db->loadObjectList();
   //foreach ($rows as $row1) {
   //$category = $row1->category_id;
   //}
}
else{
   echo $pre_content_template."Нет просмотренных товаров";
}

$rvp_bmb_list = mosGetParam( $_COOKIE, "rvp_bmb", '' );
if($rvp_bmb_list) {
$rvp_bmb_list2 = explode("|", $rvp_bmb_list);
$n = count($rvp_bmb_list2);
if($n >$max_numb) $n = $max_numb;
// echo "<ul>\n";
$t =1;
for($i = 0; $i < $n; $i++) {
$product2_id = $rvp_bmb_list2[$i];
if($i == 0) {
$rvp_bmb_list3 = $product2_id;
} else {
$rvp_bmb_list3 .='|'.$product2_id;
}
$q  = "select product_name FROM #__{vm}_product ";
   $q .= "WHERE product_id = '".$product2_id."' ";
   $q .= "and product_publish = 'Y'";
   $db->setQuery( $q );
   $rows = $db->loadObjectList();
   foreach ($rows as $row1) {
   $name2 = $row1->product_name;
   }

$q  = "select category_id FROM #__{vm}_product_category_xref ";
   $q .= "WHERE product_id = '".$product2_id."' ";
   $q .= "and product_publish = 'Y'";
   $db->setQuery( $q );
   $rows = $db->loadObjectList();
   //foreach ($rows as $row1) {
   //$category2 = $row1->category_id;
   //}
echo '<div><a href="http://...сайт...ru/component/page,shop.product_details/
flypage,flypage.tpl/product_id,'.$product2_id.'/category_id,'.$category2_id.'/option,com_virtuemart/Itemid,1/">'.$name2.'</a></div>'."\n";
if($product2_id == $product_id) {
$t = 2;
}
}
// echo '</ul>'."\n";
if($product_id !== 0){
$rvp_bmb_list = $product_id.'|';
} else {
$rvp_bmb_list = '';
}
$rvp_bmb_list .= $rvp_bmb_list3;
// echo $rvp_bmb_list;
if ($t == 1)
setcookie('rvp_bmb', $rvp_bmb_list, time()+$cookie_expire,'/');
} else {
$rvp_bmb_list =$product_id ;
setcookie('rvp_bmb', $rvp_bmb_list, time()+$cookie_expire,'/');
?>

<?php
}
?>
<br>
--------------

« Последнее редактирование: 13.06.2011, 22:44:05 от text »
*

aleks_yug

  • Давно я тут
  • 630
  • 83 / 0
сайт не готов, тестируем разные модули
J1.0.12 LE, VM 1.0.11

Новые подробности теста кода:
n-й товар в списке упомянут 2 раза, т.е. 2 раза его имя повторяется, если n-ый товар занесен по дате последним.
Вот ссылки на одинаковый товар:
1).../component/page,shop.product_details/flypage,flypage.tpl/product_id,/category_id,/option,com_virtuemart/Itemid,1/
2).../component/page,shop.product_details/flypage,flypage.tpl/product_id,8/category_id,/option,com_virtuemart/Itemid,1/



Может подскажите, как создать условие с исключением одинаковых имен...
Т.е. если имя в списке появляется более 1 раза, то имя-повтор удаляем, а имя, которое попало в список первым оставляем....
или условие, по которому удаляются все имена со сылкой вида
/component/page,shop.product_details/flypage,flypage.tpl/product_id,/category_id,/option,com_virtuemart/Itemid,1/

Вот Код
--------------
<?php
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );

global $mosConfig_absolute_path,$product_id, $dd_list;

require_once( $mosConfig_absolute_path.'/components/com_virtuemart/virtuemart_parser.php' );

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

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

$db=new ps_DB;

$cookie_expire = trim($params->get ('cookie_expire', 3600));//off time of cockie 900=15min
$max_numb = trim($params->get ('max_numb', 20));//maximum number of links
$no_products_msg = trim($params->get ('no_products_msg', "Нет просмотренных товаров"));
$pre_content_template = trim($params->get ('pre_content_template', " "));
$rvp_content_template = trim($params->get ('content_template',
"<img style=\"float: left;\" src=\"{image_path}/{thumb_image}\" />
<a href=\"{link_url}\">{name}</a> <br style=\"clear: both;\" /> "));
$post_content_template = trim($params->get ('post_content_template', " "));



if ($product_id !== 0 ) {
$q  = "select product_name FROM #__{vm}_product ";
   $q .= "WHERE product_id = '".$product_id."' ";
   $q .= "and product_publish = 'Y'";
   $db->setQuery( $q );
   $rows = $db->loadObjectList();
   foreach ($rows as $row1) {
   $name = $row1->product_name;
   }

$q  = "select category_id FROM #__{vm}_product_category_xref ";
   $q .= "WHERE product_id = '".$product_id."' ";
   $q .= "and product_publish = 'Y'";
   $db->setQuery( $q );
   $rows = $db->loadObjectList();
   //foreach ($rows as $row1) {
   //$category = $row1->category_id;
   //}
}
else{
   echo $pre_content_template."Нет просмотренных товаров";
}

$rvp_bmb_list = mosGetParam( $_COOKIE, "rvp_bmb", '' );
if($rvp_bmb_list) {
$rvp_bmb_list2 = explode("|", $rvp_bmb_list);
$n = count($rvp_bmb_list2);
if($n >$max_numb) $n = $max_numb;
// echo "<ul>\n";
$t =1;
for($i = 0; $i < $n; $i++) {
$product2_id = $rvp_bmb_list2[$i];
if($i == 0) {
$rvp_bmb_list3 = $product2_id;
} else {
$rvp_bmb_list3 .='|'.$product2_id;
}
$q  = "select product_name FROM #__{vm}_product ";
   $q .= "WHERE product_id = '".$product2_id."' ";
   $q .= "and product_publish = 'Y'";
   $db->setQuery( $q );
   $rows = $db->loadObjectList();
   foreach ($rows as $row1) {
   $name2 = $row1->product_name;
   }

$q  = "select category_id FROM #__{vm}_product_category_xref ";
   $q .= "WHERE product_id = '".$product2_id."' ";
   $q .= "and product_publish = 'Y'";
   $db->setQuery( $q );
   $rows = $db->loadObjectList();
   //foreach ($rows as $row1) {
   //$category2 = $row1->category_id;
   //}
echo '<div><a href="http://сайт.ru/component/page,shop.product_details/
flypage,flypage.tpl/product_id,'.$product2_id.'/category_id,'.$category2_id.'/option,com_virtuemart/Itemid,1/">'.$name2.'</a></div>'."\n";
if($product2_id == $product_id) {
$t = 2;
}
}
// echo '</ul>'."\n";
if($product_id !== 0){
$rvp_bmb_list = $product_id.'|';
} else {
$rvp_bmb_list = '';
}
$rvp_bmb_list .= $rvp_bmb_list3;
// echo $rvp_bmb_list;
if ($t == 1)
setcookie('rvp_bmb', $rvp_bmb_list, time()+$cookie_expire,'/');
} else {
$rvp_bmb_list =$product_id ;
setcookie('rvp_bmb', $rvp_bmb_list, time()+$cookie_expire,'/');
?>

<?php
}
?>
<br>
--------------


Text, подставил код, который Вы дали - никаких проблем!
Можно бесконечно просматривать флай товара - никакого дублирования в модуле не происходит. Проверял с разных страниц (главной, категории товара, на флае, в самых разнообразных сочетаниях и переходах...) Что-то у Вас не так, никаких дополнительных условий здесь прописывать не нужно. Если такое происходит, искать в нужно чем-то в другом (вот только где??)
PS, проверил во всех браузерах, на всЯкий случай
« Последнее редактирование: 13.06.2011, 23:38:08 от aleks_yug »
*

aleks_yug

  • Давно я тут
  • 630
  • 83 / 0
Text, кстати почему такая связка - Joomla 1.0.12 + VM 1.0.11?
Обновите хотя бы до 1.0.15 + 1.0.15. С чем черт не шутит! У меня этот модуль работает именно из под такой сборки, правда, сильно допиленной (причем не на одном сайте).
« Последнее редактирование: 12.06.2011, 20:44:30 от aleks_yug »
*

text

  • Захожу иногда
  • 93
  • 0 / 0
Text, кстати почему такая связка - Joomla 1.0.12 + VM 1.0.11?
Обновите хотя бы до 1.0.15 + 1.0.15. С чем черт не шутит! У меня этот модуль работает именно из под такой сборки, правда, сильно допиленной (причем не на одном сайте).

Будем искать, как обновиться. Апдейт здесь:
До J1.0.15 - joomlaportal.ru
До VM 1.0.15 - http://dev.virtuemart.net/projects/virtuemart/files

Проверили на Денвере J1.0.15 + VM 1.0.15. То же самое - 2 товара с одинаковым названием.

Вот ссылки на одинаковый товар:
1).../component/page,shop.product_details/flypage,flypage.tpl/product_id,/category_id,/option,com_virtuemart/Itemid,1/
2).../component/page,shop.product_details/flypage,flypage.tpl/product_id,8/category_id,/option,com_virtuemart/Itemid,1/


Все-таки, подскажите, пожалуйста, примерное условие с исключением одинаковых имен (код - в вопросе выше)...
« Последнее редактирование: 13.06.2011, 20:12:42 от text »
*

aleks_yug

  • Давно я тут
  • 630
  • 83 / 0
Будем искать, как обновиться. Апдейт здесь:
До J1.0.15 - joomlaportal.ru
До VM 1.0.15 - http://dev.virtuemart.net/projects/virtuemart/files

Проверили на Денвере J1.0.15 + VM 1.0.15. То же самое - 2 товара с одинаковым названием.

Вот ссылки на одинаковый товар:
1).../component/page,shop.product_details/flypage,flypage.tpl/product_id,/category_id,/option,com_virtuemart/Itemid,1/
2).../component/page,shop.product_details/flypage,flypage.tpl/product_id,8/category_id,/option,com_virtuemart/Itemid,1/


Все-таки, подскажите, пожалуйста, примерное условие с исключением одинаковых имен (код - в вопросе выше)...

Посмотрел по ссылке: сайт.ru (в online этот сайт, или я ошибаюсь?).
Какой SEF используется на сайте? Есть сильное подозрение, что все происходит из-за неправильно формируемой ссылки (именно из-за сефа). Попробуйте в 80 строке изменить вид ссылки на флай товара, убрав при этом упоминание в ссылке об Itemid:
echo '<div><a href="'.$mosConfig_live_site.'/index.php?option=com_virtuemart&page=shop.product_details&flypage=$flypage&product_id='.$product2_id.'&category_id='.$category2_id.'">'.$name2.'</a>
</div>'."\n";
« Последнее редактирование: 13.06.2011, 22:54:08 от aleks_yug »
*

text

  • Захожу иногда
  • 93
  • 0 / 0
Посмотрел по ссылке: (в online этот сайт, или я ошибаюсь?).
Какой SEF используется на сайте? Есть сильное подозрение, что все происходит из-за неправильно формируемой ссылки (именно из-за сефа). Попробуйте в 80 строке изменить вид ссылки на флай товара, убрав при этом упоминание в ссылке об Itemid:
echo '<div><a href="'.$mosConfig_live_site.'/index.php?option=com_virtuemart&page=shop.product_details&flypage=$flypage&product_id='.$product2_id.'&category_id='.$category2_id.'">'.$name2.'</a>
</div>'."\n";


Спасибо.
Приступаю к тесту.... Опять 2 товара в списке:
...../index.php?option=com_virtuemart&page=shop.product_details&flypage=$flypage&product_id=30&category_id=
...../index.php?option=com_virtuemart&page=shop.product_details&flypage=$flypage&product_id=&category_id=
« Последнее редактирование: 13.06.2011, 23:02:13 от text »
*

aleks_yug

  • Давно я тут
  • 630
  • 83 / 0
И еще...
Перенесите блок кода:
Код
if ($product_id !== 0 ) {
$q  = "select product_name FROM #__{vm}_product ";
   $q .= "WHERE product_id = '".$product_id."' ";
   $q .= "and product_publish = 'Y'";
   $db->setQuery( $q );
   $rows = $db->loadObjectList();
   foreach ($rows as $row1) {
   $name = $row1->product_name;
   }

$q  = "select category_id FROM #__{vm}_product_category_xref ";
   $q .= "WHERE product_id = '".$product_id."' ";
   $q .= "and product_publish = 'Y'";
   $db->setQuery( $q );
   $rows = $db->loadObjectList();
   //foreach ($rows as $row1) {
   //$category = $row1->category_id;
   //}
}
else{
   echo $pre_content_template."Нет просмотренных товаров";
}
В самый конец файла, после:
setcookie('rvp_bmb', $rvp_bmb_list, time()+$cookie_expire,'/');
Будет корректнее отображаться в категории товара и на главной - без "Нет просмотренных товаров", если таковые имеются...
Кстати, уберите в строке:  echo $pre_content_template  ."Нет просмотренных товаров"    ; (только ; не уберите случайно!)
*

text

  • Захожу иногда
  • 93
  • 0 / 0
И еще...
Перенесите блок кода:
Код
if ($product_id !== 0 ) {
$q  = "select product_name FROM #__{vm}_product ";
   $q .= "WHERE product_id = '".$product_id."' ";
   $q .= "and product_publish = 'Y'";
   $db->setQuery( $q );
   $rows = $db->loadObjectList();
   foreach ($rows as $row1) {
   $name = $row1->product_name;
   }

$q  = "select category_id FROM #__{vm}_product_category_xref ";
   $q .= "WHERE product_id = '".$product_id."' ";
   $q .= "and product_publish = 'Y'";
   $db->setQuery( $q );
   $rows = $db->loadObjectList();
   //foreach ($rows as $row1) {
   //$category = $row1->category_id;
   //}
}
else{
   echo $pre_content_template."Нет просмотренных товаров";
}
В самый конец файла, после:
setcookie('rvp_bmb', $rvp_bmb_list, time()+$cookie_expire,'/');
Будет корректнее отображаться в категории товара и на главной - без "Нет просмотренных товаров", если таковые имеются...
Кстати, уберите в строке:  echo $pre_content_template  ."Нет просмотренных товаров"   ; (только ; не уберите случайно!)

Сейчас изменю....

9-й просмотренный товар появился в списке 2 раза (всего в каталоге 9 товаров - загружено и опубликовано):
..../index.php?option=com_virtuemart&page=shop.product_details&product_id=26&category_id=
.../index.php?option=com_virtuemart&page=shop.product_details&product_id=&category_id=  (НЕПРАВИЛЬНАЯ ССЫЛКА)

Очистили кэш и Cookies
теперь 2-ой просмотренный товар в списке 2 раза
.../index.php?option=com_virtuemart&page=shop.product_details&product_id=27&category_id=
.../index.php?option=com_virtuemart&page=shop.product_details&product_id=&category_id= (НЕПРАВИЛЬНАЯ ССЫЛКА)
« Последнее редактирование: 14.06.2011, 22:44:45 от text »
*

text

  • Захожу иногда
  • 93
  • 0 / 0
Вроде здесь надо менять, но на что не знаю.

-------------
   foreach ($rows as $row1) {
   $name2 = $row1->product_name;
   }
-------------

Может подскажите....

..если имеется в списке (просмотренных товаров) товар, в ссылке которого
параметр "product_id=" имеет пустое значение,
т.е. ссылка вида "...& &product_id=&..." (пример ссылки такого товара в посте выше),
то такой товар удаляем из списка..
*

aleks_yug

  • Давно я тут
  • 630
  • 83 / 0
Вроде здесь надо менять, но на что не знаю.

-------------
   foreach ($rows as $row1) {
   $name2 = $row1->product_name;
   }
-------------

Может подскажите....

..если имеется в списке (просмотренных товаров) товар, в ссылке которого
параметр "product_id=" имеет пустое значение,
т.е. ссылка вида "...& &product_id=&..." (пример ссылки такого товара в посте выше),
то такой товар удаляем из списка..

Text, посмотри на 42 строке, то, что  ты и говорил:
foreach ($rows as $row1) {
   $name2 = $row1->product_name;
   }
Попробуюй вместо $row1 подставить просто $row
Попробовал этот вариант на чистой сборке с демо товарами и без всяких допилок...
В таком случае работает вроде правильно ( но тут всего 8 или 9 товаров!)

PS, И ЕЩЕ: в двух местах где $product_id !== 0, поставь $product_id != 0
« Последнее редактирование: 15.06.2011, 13:36:36 от aleks_yug »
*

text

  • Захожу иногда
  • 93
  • 0 / 0
Text, посмотри на 42 строке, то, что  ты и говорил:
foreach ($rows as $row1) {
   $name2 = $row1->product_name;
   }
Попробуюй вместо $row1 подставить просто $row
Попробовал этот вариант на чистой сборке с демо товарами и без всяких допилок...
В таком случае работает вроде правильно ( но тут всего 8 или 9 товаров!)

PS, И ЕЩЕ: в двух местах где $product_id !== 0, поставь $product_id != 0

Aleks_yug, спасибо.

Сейчас буду тестировать....

$product_id !== 0 заменил на $product_id != 0 в 2-х строках.....

Работает!

+1
« Последнее редактирование: 15.06.2011, 14:35:43 от text »
*

text

  • Захожу иногда
  • 93
  • 0 / 0

...вместо $row1 попробую подставить $row

« Последнее редактирование: 15.06.2011, 14:49:20 от text »
*

aleks_yug

  • Давно я тут
  • 630
  • 83 / 0
Aleks_yug, спасибо.

Сейчас буду тестировать....

$product_id !== 0 заменил на $product_id != 0 в 2-х строках.....

Работает!

+1

Aleks_yug, спасибо.

Сейчас буду тестировать....

$product_id !== 0 заменил на $product_id != 0 в 2-х строках.....

Работает!

+1

Вообще странно... Подобная проблема была когда-то у god-masterа. У меня все это работает - может все-таки результат глубокой допилки всего остального ( попробуй теперь найти концы...)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор bork

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

Автор 4kict

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

Автор Girevik

Ответов: 1
Просмотров: 1555
Последний ответ 02.11.2017, 10:52:04
от P_B
[Решено] Чебокс "Показывать только товары, которые есть в наличии"

Автор artMelnikov

Ответов: 20
Просмотров: 7879
Последний ответ 28.06.2017, 11:19:51
от OutLaw1
IceVmCart - новый бесплатный модуль корзины для VirtueMart

Автор Grig2009

Ответов: 105
Просмотров: 54535
Последний ответ 05.02.2017, 11:44:02
от Super_Panda