Создание дополнительного поля в карточке товара ShopCMS
Блог
Делимся с Вами своими знаниями и новостями

#Cruelten » Блог » Web » Создание дополнительного поля в карточке товара ShopCMS

11.09.2014

Создание дополнительного поля в карточке товара ShopCMS

Самые полезные модули для ShopCMS

Создание дополнительного поля в карточке товара ShopCMS распространенная задача для тех, кому необходимо сделать дополнительную характеристику в товаре. Эта статья — полный гайд, из которого Вы узнаете как это сделать. Под статьей есть комментарии, если Вам что-то непонятно, то смело пишите — постараюсь Вам помочь. Также в комментариях Вы можете указать и другие вопросы, они помогут мне создавать новые руководства на различные тематики, которые действительно очень нужны. Ну что? Приступим!

Работа с PHPmyAdmin

В самом начале нашей работы необходимо сделать следующее. Заходим на сервер, где находится наш сайт, заходим в phpmyadmin и в ту базу, которая привязана наша копия ShopCMS. Далее открываем эту базу и следуем дальнейшим указаниям:

  1. Находим в списке таблиц такую таблицу — qpgb_products (заметьте, впереди до знака «_» стоит префикс, на него внимание не обращаем. Заходим в эту таблицу.
  2. В этой таблице располагаются все данные о товаре: наименование, цена, принадлежность к категории и так далее. Теперь наша задача понять, какое поле с какими данными Вы хотите создать. Для примера, давайте добавим дополнительное поле «ожидается» — в этом поле мы будем у товара, которого нет на сайте, писать дату поступления товара на склад. Согласитесь вещь весьма нужная. Чтобы не придумывать ничего лишнего давайте просто выберем похожее поле уже из существующих и создадим новое. Будем работать с полем «product_code»  — артикул.
  3. Добавим новое поле в конец нашей таблицы, назовем его «my_product_date». Параметры этого поля полностью повторим как у product_code. В итоге мы должны получить два поля идентичных по параметрам, но с разными наименованиями. Получится должно примерно так:
    Снимок экрана 2014-09-11 в 16.21.46
  4. Как все сделали, закрываем phpmyadmin. Теперь нас здесь уже ничего не держит. Переходим в управления файлами. Пришло время заняться функциями.

Изменяем product_functions.php

Итак, создав новое поле в базе данных, мы можем смело внести данное поле в наши функции по добавлению и изменению товара. Для упрощения задачи Вам надо открыть файл product_functions.php (адрес core/functions/product_functions.php) в любом редакторе. После этого поиском найти все упоминания product_code, и вставить по аналогии с этим кодом, my_product_date. Внимательно отнеситесь к кавычкам, точкам всяким и так далее. Вы должны максимально повторить все за product_code. Также важный момент вставлять новые данные надо либо всегда перед product_code  либо после, но не а разнобой. Вы должны пройтись по всему файлу и вставить свое новое поле во все места, где встречается и product_code. Как только все сделано переходим к следующему шагу.

Изменяем admin.php

Ну вот пришло время сделать изменения и в непосредственном файле администратора. Файл находится в корневом каталоге Вашего сайта. Здесь по аналогии с product_functions.php вставляем наш my_product_date там же, где и product_code.

Затем в месте, куда мы хотим вставить наше новое поле добавляем новую ячейку в таблицу, например после цены.

<tr class="lineb">
<td align="left" width="25%">Дата поступления на склад</td>
</tr>
<tr class="lins">
<td align="left"><input type="text" name="my_product_date" value="<?php
          echo str_replace("\"", "&quot;", $product["my_product_date"]);
?>" style="width: 100px;" class="textp"></td>
</tr>

Вот собственно и все. Теперь заходим в админку и наслаждаемся нашим новым полем, куда можем вносить любые данные. Чтобы данные этого поля использовать в клиентской части, непосредственно на Вашем сайта, Вам нужно в нужном Вам месте указать следующий код: {$product_info.my_product_date}.

Метки:

Свяжитесь с нами уже сейчас

Вы привыкли видеть здесь форму обратной связи. Ведь так? Ее делают почти все. Но исследуя поведение людей, мы пришли к выводу, что форма совершенно не нужна. В любом случае все сводится к обсуждению Вашего проекта в WhatsApp или Telegram. А зачем нам тратить Ваше время на заполнение различных форм? Поэтому, пишите в Telegram или в WhatsApp.