[Помощь] Вывести на страницу детали продукта

typus

Мой дом здесь!
Регистрация
25 Июл 2007
Сообщения
895
Реакции
241
Приветствую, работаю над сайтом-каталогом под VM, заказчик захотел нестандартное решение:
Дело в том, что у него есть категории, в которых может находиться только один продукт. Так вот, надо добавить в шаблоне категории условие, и если в текущей категории только один продукт, то сразу же вывести на страницу детали этого продукта. Если же продуктов больше, то просто штатно отобразить категорию.
Например, есть шаблон категории grid2.php, и шаблон детали продукта default2.php
Т.е., если я правильно понимаю, это может быть или редирект на страницу детали продукта - default2.php, либо просто код шаблона default2.php добавлен в тело условия.
Но само это условие вызывает сложности, так что буду признателен за помощь.
 
Приветствую, работаю над сайтом-каталогом под VM, заказчик захотел нестандартное решение:
Дело в том, что у него есть категории, в которых может находиться только один продукт. Так вот, надо добавить в шаблоне категории условие, и если в текущей категории только один продукт, то сразу же вывести на страницу детали этого продукта. Если же продуктов больше, то просто штатно отобразить категорию.
Например, есть шаблон категории grid2.php, и шаблон детали продукта default2.php
Т.е., если я правильно понимаю, это может быть или редирект на страницу детали продукта - default2.php, либо просто код шаблона default2.php добавлен в тело условия.
Но само это условие вызывает сложности, так что буду признателен за помощь.
У меня вышло но не до конца .. силка неверно генерируется...
в шаблоне категории grid2.php добавь:

в начале там где
$document = JFactory::getDocument();
$document->addScriptDeclaration($js);
добавь
$g = 1;

после
foreach ( $this->products as $product ) {
добавь
++$g;

в конце документа добавь
<?php
$rout=($product->link);
if ($g == 2) {
header('Location: Для просмотра ссылки Войди или Зарегистрируйся
exit();}
?>

и от тут я застрял у меня если продукт один видает силку Для просмотра ссылки Войди или Зарегистрируйся, а должно Для просмотра ссылки Войди или Зарегистрируйся. Как убрать categories я так и не понял, хотя возможно виной установленный у меня joomsef///
 
У меня вышло но не до конца .. силка неверно генерируется...
в шаблоне категории grid2.php добавь:

в начале там где
$document = JFactory::getDocument();
$document->addScriptDeclaration($js);
добавь
$g = 1;

после
foreach ( $this->products as $product ) {
добавь
++$g;

в конце документа добавь
<?php
$rout=($product->link);
if ($g == 2) {
header('Location: Для просмотра ссылки Войди или Зарегистрируйся
exit();}
?>

и от тут я застрял у меня если продукт один видает силку Для просмотра ссылки Войди или Зарегистрируйся, а должно Для просмотра ссылки Войди или Зарегистрируйся. Как убрать categories я так и не понял, хотя возможно виной установленный у меня joomsef///
Спасибо, у меня нет joomsef и нет categories в генерируемой ссылке, как будто все отлично.
 
Ага значит буду копать в joomsef, ... теперь ясно что она что-то мутит с силками.
 
Я в недоумении.
Перелил на сервер, вообще ни в какую не определяет измененный шаблон категории. Т.е. даже не то чтобы с переходом на страницу товара, вообще, изменил файл шаблона так, как мне надо - в выпадающем списке новый шаблон появляется, но категория отображается не по этому шаблону, а по дефолтному.
И только если переписываю default.php - то все работает.
Что может быть, где я торможу?

пс. смотрю, все категории на сервере отображаются в дефолтном шаблоне, независимо то выбранного для каждой из категорий шаблона

ппс. сам отвечу, может, еще кому то когда сгодится.
Причин не знаю, но дело в следующем.
Цепляются шаблоны категорий, только если в их имени нет ничего, кроме латинских букв. Т.е. не - не цифр - таким образом мой шаблон grid2.php не считается валидным и цепляется дефолтный шаблон. Переименовал его в newgrid.php, и он подцепился.
Т.е. получается проблема реально с настройками сервера, или версией php, поскольку в настоящий момент сайты на локалке и на сервере абсолютно идентичны, как файлы, так и база...
 
Последнее редактирование:
Я в недоумении.
Перелил на сервер, вообще ни в какую не определяет измененный шаблон категории. Т.е. даже не то чтобы с переходом на страницу товара, вообще, изменил файл шаблона так, как мне надо - в выпадающем списке новый шаблон появляется, но категория отображается не по этому шаблону, а по дефолтному.
И только если переписываю default.php - то все работает.
Что может быть, где я торможу?

пс. смотрю, все категории на сервере отображаются в дефолтном шаблоне, независимо то выбранного для каждой из категорий шаблона

ппс. сам отвечу, может, еще кому то когда сгодится.
Причин не знаю, но дело в следующем.
Цепляются шаблоны категорий, только если в их имени нет ничего, кроме латинских букв. Т.е. не - не цифр - таким образом мой шаблон grid2.php не считается валидным и цепляется дефолтный шаблон. Переименовал его в newgrid.php, и он подцепился.
Т.е. получается проблема реально с настройками сервера, или версией php, поскольку в настоящий момент сайты на локалке и на сервере абсолютно идентичны, как файлы, так и база...
а если меняете в настройки>настройки>шаблоны тоже не реагирует на выставленный шаблон? Попробуйте с разными названиями шаблонов без 2-ки, накрайняк в mysql virtuemart_categories>category_laylot выставите нужный шаблон, должно сработать.
 
а если меняете в настройки>настройки>шаблоны тоже не реагирует на выставленный шаблон? Попробуйте с разными названиями шаблонов без 2-ки, накрайняк в mysql virtuemart_categories>category_laylot выставите нужный шаблон, должно сработать.
в настройках пробовал, не цепляет, если шаблон с цифрами.
В базе говорят, если напрямую задать, точно сработает, но смысла не вижу - мне легче шаблон переименовать, чтобы цифр не было, только буквы.
Ответ в гугле нашел, в нескольких местах есть указание именно на имя шаблона, но ответа на вопрос, почему в некоторых случаях так происходит, а в некоторых нет, не нашел.
Ну да в принципе не важно, так, для пытливого ума...
 
Назад
Сверху