Новости Joomla

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

d0ublezer0

  • Захожу иногда
  • 356
  • 31 / 0
  • Javaхарлал Неру
Почему так?
Из-за этого в меню категорий не отобраается активная выбранная категория.
По идее, перемещаясь между товарами одной группы, id должен присутствовать.

За формирование этих ссылок отвечает файл shop.product_details.php, но я пока не разобрался, как в ссылки зацепить текущую категорию?
Может кто сталкивался уже?
Я помог вам? Ткните в карму.
*

m.smetannikov

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

d0ublezer0

  • Захожу иногда
  • 356
  • 31 / 0
  • Javaхарлал Неру
Я разобрался. Но проект уже давно сдан, сейчас копаться в коде, искать где что менял - времени нет.
Я помог вам? Ткните в карму.
*

m.smetannikov

  • Захожу иногда
  • 69
  • 0 / 0
d0ublezer0, если есть возможность выложи, пожалуйста shop.product_details.php.
*

d0ublezer0

  • Захожу иногда
  • 356
  • 31 / 0
  • Javaхарлал Неру
ссылка-то формируется не в нем.
надо искать
Я помог вам? Ткните в карму.
*

m.smetannikov

  • Захожу иногда
  • 69
  • 0 / 0
Так, а где она формируется? Хотя-бы примерно скажите, вы же ведь уже делали это. Вы то знаете где копать))
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
Joomla 1.5.22 VirtueMart 1.1.7

Заметил следующие баги:

1. в подробном описании товара ссылки Предыдущий / Следующий имеют не верный вид, у меня например с категорией 0:(
Код
?page=shop.product_details&flypage=flypage.tpl&product_id=92&category_id=0
2. в "Недавно просмотренные файлы" Порядок построения ссылки на товар ваще не понятный, хоть и работает:):
Код
?page=shop.product_details&product_id=92&category_id=21&flypage=flypage.tpl

Получается дублирование одинаковых страниц, Яндекс этого не любит.

Чиним так:

1.  в файле /administrator/components/com_virtuemart/html/shop.product_details.php
Для следующей:
179
Было:
Код
$url_parameters = 'page=shop.product_details&product_id='.$next_product['product_id'].'&flypage='.$ps_product->get_flypage($next_product['product_id']).'&pop='.$pop;
Стало:
Код
$url_parameters = 'page=shop.product_details&flypage='.$ps_product->get_flypage($next_product['product_id']).'&category_id='.$category_id;
  
для предыдущейкнопки (193 строка)
Было:
Код
$url_parameters = 'page=shop.product_details&product_id='.$previous_product['product_id'].'&flypage='.$ps_product->get_flypage($previous_product['product_id']).'&pop='.$pop;
Стало:
Код
$url_parameters = 'page=shop.product_details&flypage='.$ps_product->get_flypage($next_product['product_id']).'&product_id='.$next_product['product_id'].'&category_id='.$category_id;
   
2. в файле /administrator/components/com_virtuemart/classes/ps_product.php (у меня VM 1.1.7 строка 2865)
Было :
Код
$recent[$k]['product_url'] = $sess->url("page=shop.product_details&product_id=$prod_id&category_id=$category_id&flypage=$flypage");

Стало:
Код
$recent[$k]['product_url'] = $sess->url("page=shop.product_details&flypage=$flypage&product_id=$prod_id&category_id=$category_id");
            
« Последнее редактирование: 13.04.2011, 21:47:14 от SorokinS »
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
*

m.smetannikov

  • Захожу иногда
  • 69
  • 0 / 0
Был вирт 1.1.6, специально обновился до 1.1.7. После проведения указанных изменений при нажатии на кнопку сл. товара вирт выкидывает на страницу просмотра всех товаров, и пишет что товар не найден. Вот url, который формируется при этом в адресной строке: /index.php?keyword=&category_id=&limitstart=&page=shop.browse&option=com_virtuemart&Itemid=178.
Не помогает!(
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
Был вирт 1.1.6, специально обновился до 1.1.7. После проведения указанных изменений при нажатии на кнопку сл. товара вирт выкидывает на страницу просмотра всех товаров, и пишет что товар не найден. Вот url, который формируется при этом в адресной строке: /index.php?keyword=&category_id=&limitstart=&page=shop.browse&option=com_virtuemart&Itemid=178.
Не помогает!(

Ссылка явно построена не верно.

Покажите отрезок кода с ссылкой след. товара.

Попробуйте включить стандартный SEF.
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
Попробуйте включить стандартный SEF.

SEF тут не причем, проверил у себя.
*

m.smetannikov

  • Захожу иногда
  • 69
  • 0 / 0
Ну да у меня тоже не помогло. Вот такая ссылка со стандартным sef:
3rd-party-extensions/virtuemart.html?keyword=&category_id=&limitstart=&page=shop.browse
Может быть это из за VirtueMart переделанного, просто ставил вирт в комплекте с шаблоном, так называемый quick start.
Сейчас код наковыряю...
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
Ну да у меня тоже не помогло. Вот такая ссылка со стандартным sef:
3rd-party-extensions/virtuemart.html?keyword=&category_id=&limitstart=&page=shop.browse
Может быть это из за VirtueMart переделанного, просто ставил вирт в комплекте с шаблоном, так называемый quick start.
Сейчас код наковыряю...

Покажите ваш код. Или вложите файл. Погляжу
*

m.smetannikov

  • Захожу иногда
  • 69
  • 0 / 0
Код
// Get the neighbor Products to allow navigation on product level
$neighbors = $ps_product->get_neighbor_products( !empty( $product_parent_id )? $product_parent_id : $product_id );
$next_product = $neighbors['next'];
$previous_product = $neighbors['previous'];
$next_product_url = $previous_product_url = '';
if( !empty($next_product) ) {
$url_parameters = 'page=shop.product_details&flypage='.$ps_product->get_flypage($next_product['product_id']).'&category_id='.$category_id;
    if( $manufacturer_id ) {
    $url_parameters .= "&manufacturer_id=" . $manufacturer_id;
    }
    if( $keyword != '') {
    $url_parameters .= "&keyword=".urlencode($keyword);
    }
if( $pop == 1 ) {
$next_product_url = $sess->url( $_SERVER['PHP_SELF'].'?'.$url_parameters );
} else {
$next_product_url = str_replace("index2","index",$sess->url( $url_parameters ));
}
}
if( !empty($previous_product) ) {
$url_parameters = 'page=shop.product_details&flypage='.$ps_product->get_flypage($next_product['product_id']).'&product_id='.$next_product['product_id'].'&category_id='.$category_id;
    if( $manufacturer_id ) {
    $url_parameters .= "&manufacturer_id=" . $manufacturer_id;
    }
    if( $keyword != '') {
    $url_parameters .= "&keyword=".urlencode($keyword);
    }
if( $pop == 1 ) {
$previous_product_url = $sess->url( $_SERVER['PHP_SELF'].'?'.$url_parameters );
} else {
$previous_product_url = str_replace("index2","index",$sess->url( $url_parameters ));
}
}

$tpl->set( 'next_product', $next_product );
$tpl->set( 'next_product_url', $next_product_url );
$tpl->set( 'previous_product', $previous_product );
$tpl->set( 'previous_product_url', $previous_product_url );

$parent_id_link = $db_product->f("product_parent_id");
$return_link = "";
if ($parent_id_link <> 0 ) {
$q = "SELECT product_name FROM #__{vm}_product WHERE product_id = '$product_parent_id' LIMIT 0,1";
$db->query( $q );
$db->next_record();
$product_parent_name = $db->f("product_name");
$return_link = "&nbsp;<a class=\"pathway\" href=\"";
$return_link .= $sess->url($_SERVER['PHP_SELF'] . "?page=shop.product_details&product_id=$parent_id_link");
$return_link .= "\">";
$return_link .= $product_parent_name;
$return_link .= "</a>";
$return_link .= " ".vmCommonHTML::pathway_separator()." ";
}
$tpl->set( 'return_link', $return_link );

// Create the pathway for our template
$navigation_pathway = $tpl->fetch( 'common/pathway.tpl.php');

if ($ps_product_category->has_childs($category_id) ) {
$category_childs = $ps_product_category->get_child_list($category_id);
$tpl->set( 'categories', $category_childs );
$navigation_childlist = $tpl->fetch( 'common/categoryChildlist.tpl.php');
}
Кстати, "предыдущий" товар работает!  Все так как надо! надо только "следующий" поправить. Так что мы движемся в правильном направлении!
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
Странно, код верный.

А до этих изменений, какие ссылки были?
*

m.smetannikov

  • Захожу иногда
  • 69
  • 0 / 0
Пардон, не совсем работает ссылка на "предыдущий" товар. Например название "предыдущего" товара "Nespresso Citiz", а при нажатии на него открывается товар с названием "Saeco XSmall" (хорошо еще что все в рамках одной категории).
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
Нашел в нашем файле следующее:

// Get the product info from the database
$q = "SELECT * FROM `#__{vm}_product` WHERE ";
if( !empty($product_id)) {
   $q .= "`product_id`=$product_id";
}
elseif( !empty($product_sku )) {
   $q .= "`product_sku`='$product_sku'";
}
else {
   vmRedirect( $sess->url( $_SERVER['PHP_SELF']."?keyword=".urlencode($keyword)."&category_id={$_SESSION['session_userstate']['category_id']}&limitstart={$_SESSION['limitstart']}&page=shop.browse", false, false ), $VM_LANG->_('PHPSHOP_PRODUCT_NOT_FOUND') );
}

в else как раз есть то, что у вас вылезает.

Пока не пойму, что за условие.
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
Пардон, не совсем работает ссылка на "предыдущий" товар. Например название "предыдущего" товара "Nespresso Citiz", а при нажатии на него открывается товар с названием "Saeco XSmall" (хорошо еще что все в рамках одной категории).

Может она как "следующий" работает?
*

m.smetannikov

  • Захожу иногда
  • 69
  • 0 / 0
У меня роуер от danik.html стоит.
Вот ссылки до изменений:
заход на страницу товара через категорию
-http://site.ru/3rd-party-extensions/catalog/category/product/1-coffee-machines/5-nespresso-citiz.html
заход через "предыдущий" товар
-http://site.ru/3rd-party-extensions/catalog/product/5-nespresso-citiz.html
Как видно, без категории....

Вот теперь:
заход на страницу товара через категорию
-http://site.ru/3rd-party-extensions/catalog/category/product/1-coffee-machines/5-nespresso-citiz.html
заход через "предыдущий" товар
-http://site.ru/3rd-party-extensions/catalog/category/product/1-coffee-machines/5-nespresso-citiz.html
Почти можно радоваться, осталось "доточить" чтоб при нажатии на название "предыдущего" товара открывался товар с этим названием ну и сделать ссылку "следующего"!
Цитировать
в else как раз есть то, что у вас вылезает
Может быть это в шаблоне какой нибудь хак стоит, который отвечает за keyword? Я ж там говорил что VirtueMart сразу с шаблоном ставился. Давайте Вам на почту шаблон сброшу? Я просто не сильно в коде соображаю.
*

m.smetannikov

  • Захожу иногда
  • 69
  • 0 / 0
Цитировать
Может она как "следующий" работает?

ТОЧНО!
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
тогда меняем местами.

В моем примере сначала next правится, потом previous:(
*

m.smetannikov

  • Захожу иногда
  • 69
  • 0 / 0
Все заработало! :D Спасибо огромное!
beagler, взываю к тебе! Тему в FAQ! Обязательно!!
*

m.smetannikov

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

elnine

  • Новичок
  • 6
  • 1 / 0
Добрый день, уважаемые коллеги.

Неожиданно возникла следующая проблема.
На связке J1.5 VM 1.1.5.
При попытке "задать вопрос" на странице с товаром, появляется как всегда форма, заполняется, отправляется.. и вуаля..
выкидывает на страницу с магазином и ошибкой "Товар не найден". Хотя товар есть, опубликован. Соответственно никаких писем не приходит.

Пробовал обновить, обновился до 1.1.8 не помогло.
Перечитал пол интернета, в поисках решения (и зарубежного и нашего). Ничего толкового найти не смог.
Одна надежда только на вас.

Не могу понять в чем дело. Раньше работало, обновлений вроде никаких не ставили.
Пробовал и с включенным и с выключенным SEF. SEF стоит стандартный Jooml-овский. Кэши чистил.
Почта работает. 

Дополнение: ссылка на товар вида "prodnm?page=shop.product_details&flypage=flypage.tpl&product_id=33&category_id=13"
после кидает на "/prodnm?keyword=&category_id=&limitstart=&page=shop.browse"
« Последнее редактирование: 12.05.2011, 16:31:26 от elnine »
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
Добрый день, уважаемые коллеги.

Неожиданно возникла следующая проблема.
На связке J1.5 VM 1.1.5.
При попытке "задать вопрос" на странице с товаром, появляется как всегда форма, заполняется, отправляется.. и вуаля..
выкидывает на страницу с магазином и ошибкой "Товар не найден". Хотя товар есть, опубликован. Соответственно никаких писем не приходит.

Пробовал обновить, обновился до 1.1.8 не помогло.
Перечитал пол интернета, в поисках решения (и зарубежного и нашего). Ничего толкового найти не смог.
Одна надежда только на вас.

Не могу понять в чем дело. Раньше работало, обновлений вроде никаких не ставили.
Пробовал и с включенным и с выключенным SEF. SEF стоит стандартный Jooml-овский. Кэши чистил.
Почта работает.  

Дополнение: ссылка на товар вида "prodnm?page=shop.product_details&flypage=flypage.tpl&product_id=33&category_id=13"
после кидает на "/prodnm?keyword=&category_id=&limitstart=&page=shop.browse"


Конечно, не совмем по теме, но проблема похожая с нашей.

У меня VM 1.1.8: вылетает благодарность и ниже ссылка "Вернуться к товару", ссылка имеет не совсем правильный вид: http://site.ru/catalog?page=shop.product_details&flypage=flypage.tpl&product_id=512&category_id=0

А так вот помощь: http://joomlaforum.ru/index.php/topic,80081.msg465593.html#msg465593

Мне хватило подставить
Код
<input type="hidden" name="category_id" value="<?php echo  $category_id  ?>" />

в файле shop.ask.tpl.php
« Последнее редактирование: 12.05.2011, 17:05:04 от SorokinS »
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
Еще заметил ссылка не верная у ссылки в письме-подтверждении :

Код
Спасибо за Ваше обращение к поставщику АНОНИМ касательно:
Название товара: Поло
Артикул: 166
Ссылка: http://site.ru/index.php?option=com_virtuemart&page=shop.product_details&flypage=flypage.tpl&product_id=512&Itemid=14

Щас починим.
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
Дополнение: ссылка на товар вида "prodnm?page=shop.product_details&flypage=flypage.tpl&product_id=33&category_id=13"
после кидает на "/prodnm?keyword=&category_id=&limitstart=&page=shop.browse"


Кстати, такая ссылка у меня вылезала при отсутствии product_id! Возможно он не доходит до формы после отправления. Погляди код формы до отправления, есть ли там <input type="hidden" name="product_id" value="ЦИФРА" />
*

elnine

  • Новичок
  • 6
  • 1 / 0
Да есть <input type="hidden" name="product_id" value="33" />
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
Ссылка в письме - подтверждении правится так:

1. В файле administrator/com_virtuemart/classes/ps_communication.php после 143 строки, т.е после
Код
$Itemid = $sess->getShopItemid();
вставляем
Код
$category_id = vmRequest::getInt('category_id');

2. Правим ссылку :
$product_url = $mosConfig_live_site."/catalog?page=shop.product_details&flypage=".urlencode($flypage)."&product_id=$product_id&category_id=$category_id";

Внимание у меня в ссылке catalog! У вас возможно что-то другое? если используете стандартный SEF.

Если не используете стандартный SEF лучше оставить так:


$product_url = $mosConfig_live_site."/index.php?option=com_virtuemart&page=shop.product_details&flypage=".urlencode($flypage)."&product_id=$product_id&category_id=$category_id";
      
*

elnine

  • Новичок
  • 6
  • 1 / 0
Поменял все, из вышеописанных... но до письма дело не доходит,
все равно выкидывает на "товар не найден".
Может хостинг не держит сессию?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Описание категории опустить под товары

Автор angelo4ek-001

Ответов: 5
Просмотров: 1840
Последний ответ 12.11.2015, 01:53:39
от fsv
Как сделать отображение атрибутов товара в категории ?

Автор Timer

Ответов: 0
Просмотров: 1194
Последний ответ 21.01.2015, 23:43:33
от Timer
VirtueMart -как убрать слово "КАТЕГОРИИ" на первой странице магазина

Автор stalker828

Ответов: 12
Просмотров: 9068
Последний ответ 30.07.2014, 11:51:16
от ZAIRA
Как перенести кнопку редактирования товара с fly-страницы на страницу категории?

Автор longestall

Ответов: 5
Просмотров: 2070
Последний ответ 09.07.2014, 17:40:59
от talentas
Не заполняется "Описание категории"

Автор atlantavto2011

Ответов: 0
Просмотров: 1079
Последний ответ 07.07.2014, 18:21:48
от atlantavto2011