Использование своего контроллера, передача значений

Автор serch, 26 декабря 2015, 10:43:19

« назад - далее »

serch

Всем всего доброго!
Создал свой контроллер ClosseController.php
Вызывается из карточки товара по надатию кнопки.
Как мне в этом контроллере получить id продукта.
public function initContent() {
parent::initContent();

if (empty($_SESSION['login']) or empty($_SESSION['id']))
    {
        тут обработка  и надо получить id_product
    }
    else
    {
        тут обработка 2
    }
}

Спасибо!

Mr.Sen

$id_product = (int)Tools::getValue('id_product');
Получить ид из формы или ссылки.

serch

#2
Спасибо за ответ!
Нет так я не получаю значения.
public function initContent() {
parent::initContent();

if (empty($_SESSION['login']) or empty($_SESSION['id']))
    {
       $id_product = (int)Tools::getValue('id_product');
       echo "<script>alert($id_product);</script>";
    }
    else
    {
        тут обработка 2
    }
}


Получаю 0

Можно конечно так...
В карточке продукта
<form action="путь.../index.php?controller=closses" method="post">
<select name="test">
<option value="" selected="selected">Выбор</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
<input type="submit" value="Значения!" />
</form>

В контроллере
$переменная=$_POST['test'];

Тогда да, получим значение в $переменная
Но мне необходимо не из списка выбирать а передать 3 разных значения.
Спасибо!

DarinSr

Вы хотите передать ид товара на странице которого находится ваша кнопка?

serch


DarinSr

<form action="{$link->getPageLink('closses')|escape:'html':'UTF-8'}" method="post">
    <input type="hidden" id="product-id" value="{$product->id}" />
    <input type="hidden" id="var1" value="{$product->...}" />
    <input type="hidden" id="...." value="...." />
    ....
    <input type="submit" value="Это ваша кнопка" />
</form>

serch

#6
Срасибо большое.
И еще один вопрос.
Есть у продуктк атрибут выподающий список.
Выбор идет в
{if ($group.group_type == 'select')}
<select name="{$groupName}" id="group_{$id_attribute_group|intval}" class="form-control attribute_select no-print">
{foreach from=$group.attributes key=id_attribute item=group_attribute}
<option value="{$id_attribute|intval}"{if (isset($smarty.get.$groupName) && $smarty.get.$groupName|intval == $id_attribute) || $group.default == $id_attribute} selected="selected"{/if} title="{$group_attribute|escape:'html':'UTF-8'}">{$group_attribute|escape:'html':'UTF-8'}</option>
{/foreach}
</select>

Соответственно перед добавлением в карзину выбирается значение атрибута.
А как узнать какое значение выбрано перед нажатием в карзину.
Просто вывести список это можно, но какое значение выбрано...
Спасибо!

coder

Выбраное значение ид комбинации сохраняется в
<input type="hidden" name="id_product_attribute" id="idCombination" value="" />

serch