Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 97 Ответов
  • 25038 Просмотров
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
как уменьшить картинку товара? сделать мини эскиз пример 40 на 40?
Самый простой способ:
чтобы не трогать генерацию размера превьюшек в остальных модулях и в самом компоненте создайте в ps_product.php дубликат функции - function image_tag (весь код функции, буквально) и обзовите новую функцию как-нибудь иначе - например image_tag1.
В конце новоявленной функции увидите фрагмент кода:
return vmCommonHTML::imageTag( $url, '', '', $height, $width, '', '', $args.' '.$border );
и замените на:
$width=40;
return vmCommonHTML::imageTag( $url, '', '', '', $width, '', '', $args.' '.$border );

присвоив переменной $width буквальное значение (в данном случае 40).

В самом файле: mod_virtuemart1.1.x_recently_viewed_products найти фрагмент кода:
'.ps_product::image_tag($name3).'
и заменить image_tag на image_tag1
Ну вот что-то типа того...
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
В самом файле: mod_virtuemart1.1.x_recently_viewed_products найти фрагмент кода:
'.ps_product::image_tag($name3).'
и заменить image_tag на image_tag1
Ну вот что-то типа того...

не могу найти такой функции у меня всё что есть
Код
$name3 = $row1->product_thumb_image;
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
И ещё вопрос как быть с ЧПУ ссылками?
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
И ещё вопрос как быть с ЧПУ ссылками?
И ещё вопрос как быть с ЧПУ ссылками?
Код файла в студию, пожалуйста! Сейчас разберемся...
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
Код
<?php
if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );

global $mosConfig_absolute_path, $product_id, $dd_list;
// Load the VirtueMart main parse code
if( file_exists(dirname(__FILE__).'/../../components/com_virtuemart/virtuemart_parser.php' )) {
require_once( dirname(__FILE__).'/../../components/com_virtuemart/virtuemart_parser.php' );
} else {
require_once( dirname(__FILE__).'/../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));
$max_numb = trim($params->get ('max_numb', 20));//maximum number of links
$pre_content_template = trim($params->get ('pre_content_template', " "));

$rvp_bmb_list = vmGet( $_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];
   // echo "<li style='margin-left:15px; font-size:11px; border-bottom:1px dashed #999999;'>\n";
if($i == 0) {
$rvp_bmb_list3 = $product2_id;
} else {
$rvp_bmb_list3 .='|'.$product2_id;
}
$q  = "select product_name, product_thumb_image 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;
$name3 = $row1->product_thumb_image;
}

$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();

echo '<div><a href="'.$mosConfig_live_site.'/index.php?option=com_virtuemart&amp;page=shop.product_details&amp;flypage=flypage.tpl&amp;product_id='.$product2_id.'&category_id='.$category2_id.'">'.$name2.ps_product::image_tag($name3, "title=\"".$name2."\"").'</a></div>'."\n";
if($product2_id == $product_id) {
$t = 2;
}
}
 // echo '</li>'."\n";
 // 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,'/');

if ($product_id != 0 ) {
$q  = "select product_name, product_thumb_image 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();
}
else{
// echo $pre_content_template;
}
}
?>
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
echo '<div><a href="'.$mosConfig_live_site.'/index.php?option=com_virtuemart&amp;page=shop.product_details&amp;flypage=flypage.tpl&amp;product_id='.$product2_id.'&category_id='.$category2_id.'">'.$name2.ps_product::image_tag($name3, "title=\"".$name2."\"").'</a></div>'."\n";
А это что?
Ну и напиши - ps_product::image_tag1
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
echo '<div><a href="'.$mosConfig_live_site.'/index.php?option=com_virtuemart&amp;page=shop.product_details&amp;flypage=flypage.tpl&amp;product_id='.$product2_id.'&category_id='.$category2_id.'">'.$name2.ps_product::image_tag($name3, "title=\"".$name2."\"").'</a></div>'."\n";
А это что?
Ну и напиши - ps_product::image_tag1

Спасибо, помогло.Сразу не увидел(
а как быть с чпу ссылками и можно ли как-то вывести фото в ряд?
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
Спасибо, помогло.Сразу не увидел(
а как быть с чпу ссылками и можно ли как-то вывести фото в ряд?
Вывести в ряд к примеру по 3 фото в ряду
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
Вывести в ряд к примеру по 3 фото в ряду
А зачем они нужны, человечьи ссылки после перехода из модуля? Человек уже на сайте -это его сессия. Он что. в адресную строку заглядывать будет??
Что касается вывода в строку, это уже вопрос верстки модуля. Он изначально был задуман для вывода в столбце (левом  или правом) в вертикальном варианте. Где-то на форуме попадались материалы по переделке меню в горизонтальный вывод. Здесь. вероятно можно сделать что-то подобное...
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
А зачем они нужны, человечьи ссылки после перехода из модуля? Человек уже на сайте -это его сессия. Он что. в адресную строку заглядывать будет??
Что касается вывода в строку, это уже вопрос верстки модуля. Он изначально был задуман для вывода в столбце (левом  или правом) в вертикальном варианте. Где-то на форуме попадались материалы по переделке меню в горизонтальный вывод. Здесь. вероятно можно сделать что-то подобное...
Мне и надо в колонке правой вывести этот модуль в таком виде:
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
А чпу тоже хотелось бы
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
с горизонтальным выводом разобрался
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
Вот так вот вышло
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
Вот так вот вышло

Ну так бы и сказал, что только картинки. Я думал, титль тоже выводить нужно. Но вариант есть и с титлем. Li заменить на дивы и выставить float:left
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
И всё же как ссылки на чпу заменить?Есть варианты?
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
И всё же как ссылки на чпу заменить?Есть варианты?
Если честно, даже не думал... А все же - зачем? Чисто принципиальные соображения, или есть нечто большее? Поисковики вряд ли будут индексировать дубликаты, сгенерированные в модуле. Это во первых, а во вторых можно же поставить запрет на индексацию в .htaccess.
Или есть еще какие-то соображения по сему вопросу?
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
Хотелось бы что бы всё было как надо, ну и мысли о дубликатах тоже посещали
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
А с титлем вывод под горизонтальный модуль уже слепил
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
А с титлем вывод под горизонтальный модуль уже слепил
Мне титл не нужен, просто фото
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
Мне титл не нужен, просто фото
Нужно смотреть, как формируются ссылки в SEF компоненте, или в роутере (если есть). И потом уже пробовать сформировать ссылку в самом модуле. По-моему, только так...
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
Нужно смотреть, как формируются ссылки в SEF компоненте, или в роутере (если есть). И потом уже пробовать сформировать ссылку в самом модуле. По-моему, только так...
А если подключить роутер к модулю?
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
А если подключить роутер к модулю?
какой вид у ссылки в адресной строке на карточке товара?
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
какой вид у ссылки в адресной строке на карточке товара?
site.com.ua/home/dlya-kupaniya/ugolok-s-vishivkoy.html
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
site.com.ua/home/dlya-kupaniya/ugolok-s-vishivkoy.html
Ну судя по виду ссылки - SEF404? Как с ним - не знаю. С роутером от Даника поковырялся - подставить можно, но ссылка все равно генерируется немного не того вида (хотя и отрабатывает) Получается:
http://сайт.ru/component/virtuemart/category/product/category_id= /product_id=2
В общем, пока ответить не готов. Пробовать нужно...
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
Добавляем переменную:
$link = JRoute::_('index.php?page=shop.product_details&flypage=flypage.tpl&product_id='.$product2_id.'&category_id='.$category2_id.'&option=com_virtuemart&Itemid='. $Itemid, false);
А ссылку сделать такого вида:
<a href="'.$link.'">'.$name2.'</a>
По идее, должно работать (но смотря, какой роутер)
С включенным стандартным сефом Joomla - работает правильно.

*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
Добавляем переменную:
$link = JRoute::_('index.php?page=shop.product_details&flypage=flypage.tpl&product_id='.$product2_id.'&category_id='.$category2_id.'&option=com_virtuemart&Itemid='. $Itemid, false);
А ссылку сделать такого вида:
<a href="'.$link.'">'.$name2.'</a>
По идее, должно работать (но смотря, какой роутер)
С включенным стандартным сефом Joomla - работает правильно.
Формирует но чуть Неправильно
сейчас формирует так:
/component/virtuemart/zheleznaja-doroga-na-radioupravlenii.html
а надо вот так
/home/zheleznye-dorogi-i-treki/zheleznaja-doroga-na-radioupravlenii.html
где можно сменить приставку /component/virtuemart/ на /home/ ? и подставить название раздела?
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
где можно сменить приставку /component/virtuemart/ на /home/ ? и подставить название раздела?
Я уже предупреждал. что не со всеми роутерами получается. Если используется какой-либо из тех. которые можно найти на форуме, лучше посмотреть в теме, где он он и обсуждался. Там скорее найдется ответ.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
aleks_yug Скажите а зачем в модуле какие-то запросы к базе данных. Путь к картинке, товару, наименование и цену и т. д., спокойно можно сохранять в куках. Зачем лишние запросы?
Немного позже.
Смотрите вот пример. Последние посещенные страницы пользователем
Фактически на данной основе легко сделать последние посещенные ..., сравнение товаров и т. д.
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
aleks_yug Скажите а зачем в модуле какие-то запросы к базе данных. Путь к картинке, товару, наименование и цену и т. д., спокойно можно сохранять в куках. Зачем лишние запросы?
Ну во это вполне можно убрать:
$q  = "select category_id FROM #__{vm}_product_category_xref ";
   $q .= "WHERE product_id = '".$product2_id."' ";
   $q .= "and product_publish = 'Y'";

А product_name и т.д. ну никак не выкинешь. Или есть вариант? Чем проще, тем лучше - это не споришь...
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
Я уже предупреждал. что не со всеми роутерами получается. Если используется какой-либо из тех. которые можно найти на форуме, лучше посмотреть в теме, где он он и обсуждался. Там скорее найдется ответ.
Вот этот роутер использую http://joomlaforum.ru/index.php/topic,130264.new.html
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор bork

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

Автор 4kict

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

Автор Girevik

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

Автор artMelnikov

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

Автор Grig2009

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