Ответить Новая тема Новый опрос 
 Добавить поле input
Neo_odessa
Новичок
Сообщений: 19
Регистрация: 27-10-2014


26-11-2014 02:33
Дорый день.
Пытаюсь вставить поле в файле
/admin/themes/default/template/controllers/orders/_product_line.tpl

В коде скопировал строчку с количеством. Но не могу задать ему отдельное значение
например: $product['product_quantity_collected']

Код:
<td class="productQuantity text-center">
        <span class="product_quantity_show{if (int)$product['product_quantity'] > 1} badge{/if}">{$product['product_quantity']}</span>
        {if $can_edit}
        <span class="product_quantity_edit" style="display:none;">
            <input type="text" name="product_quantity" class="edit_product_quantity" value="{$product['product_quantity']|htmlentities}"/>
        </span>
        {/if}
    </td>

Как я думаю это в файле
controllers/admin/AdminOrdersController.php

надо вставить $Post для $product['product_quantity_collected'] в базу данных?
В приложении скрин того что получилось но это одно и то же значение
$product['product_quantity']
А создать отдельное поле не удаётся.
Подскажите где ковырять?
Заранее спасибо


Изображения:
1.JPG - Размер файла5.63KB, Скачиваний: 329 (Нажмите для увеличения)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


26-11-2014 18:13
Открыть файл /admin/themes/default/template/controllers/orders/_product_line.tpl

добавить:
Код:
Код:
<span class="product_quantity_edit">
    <input type="text" name="product_quantity_collected" class="edit_product_quantity" value="{$product['product_quantity_collected']|htmlentities}"/>
    <input type="submit" value="Обновить"/>
</span>


Открыть файл /controllers/admin/AdminOrdersController.php

найти:
Код:
foreach ($products as &$product)
{
...
}


до добавить:
Код:
if (Tools::getValue('product_quantity_collected'))
         сохраняем


внутри добавить:
Код:
$product['product_quantity_collected'] = (забираем);
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Neo_odessa
Новичок
Сообщений: 19
Регистрация: 27-10-2014


26-11-2014 21:07
Спасибо всё работает отлично. Вы профессионал своего дела. Хочу с Вами связаться по e-mail с этого топика:
http://prestadev.ru/forum/tema-9451.html
И по ЛС на форуме но не могу дождаться от Вас ответа.
Надеюсь связаться и начать плодотворное сотрудничество.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Neo_odessa
Новичок
Сообщений: 19
Регистрация: 27-10-2014


26-11-2014 22:35
Всё равно что то не так. После толь как проставил все значения всё записалось. Но при повторном заходе в заказ всё слетает. И опять нет зачений
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Neo_odessa
Новичок
Сообщений: 19
Регистрация: 27-10-2014


29-11-2014 06:32
Но вместо
Код:
<input type="submit" value="Обновить"/>

Пользуюсь стандартной кнопкой
Код:
{* Update controls *}
        <button type="button" class="btn btn-default submitProductChange" style="display: none;">
            <i class="icon-ok"></i>
            {l s='Update'}
        </button>


Так как эта кнопка обновляет только последний товар в списке и всем остальным даёт то же значение.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Neo_odessa
Новичок
Сообщений: 19
Регистрация: 27-10-2014


02-12-2014 03:06
Так как помощи я не дождался решил проблему другим способом. Может кому пригодится:
1. В базе данных в таблице order_detail создал столбец product_quantity_collected

2. В файл classes/order/OrderDetail.php строка 155
Добавил:
Код:
public $product_quantity_collected;


Там же строка 177:
Код:
'product_quantity_collected' => array('type' => self::TYPE_STRING),


3. В файл /controllers/admin/AdminOrdersController.php строка 2177
добавил:
Код:
$product_quantity_collected=isset($_POST['product_quantity_collected'])?trim($_POST['product_quantity_collected']):"";
        $product_quantity_collected=htmlspecialchars(stripslashes($product_quantity_collected));
        $order_detail->product_quantity_collected=$product_quantity_collected;


Там же строка 2003:
Код:
'product_quantity_collected' => $product_quantity_collected,


4. В файл /admin/themes/default/template/controllers/orders/_product_line.tpl строка 86:

Код:
<span class="product_quantity_collected_show">{$product['product_quantity_collected']}</span>
    {if $can_edit}
    <span class="product_quantity_edit" style="display:none;">
    <input type="text" name="product_quantity_collected" class="edit_product_quantity_collected" value="{$product['product_quantity_collected']|htmlentities}"/>
</span>
    {/if}



Всё теперь стало возможно отмечать какие товары из заказанных собраны а какие надо собрать.

Скриншот админки в приложении.


Изображения:
2.JPG - Размер файла36.36KB, Скачиваний: 282 (Нажмите для увеличения)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос