Дополнительное описание к товару

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

pikasso M
pikasso M
Возраст: 45
Репутация: 10
Сообщения: 128
Зарегистрирован: 31.01.2016
С нами: 8 лет 1 месяц

Сообщение #1 pikasso » 22.08.2016, 16:09

Добрый день в Okay 1.0.3
нужно сделать дополнительное описание к товару и вывести его в таб на странице товара
в админке создал уже поле...
но не могу понять где копать - что бы записывалось в базу
в самой базе добавил по аналогии
body
свое поле
instruktion
и в админке так же
на скрине видно
подскажите пожалуйста
в каких файлах править.
Вложения
Безымянный 1.jpg

makki M
makki M
Репутация: 199
Сообщения: 697
Зарегистрирован: 12.08.2016
С нами: 7 лет 7 месяцев
Откуда: Киев
Сайт

Сообщение #2 makki » 22.08.2016, 17:38

смотрите файлы api/Products.php и backend/ProductAdmin.php
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)

pikasso M
pikasso M
Возраст: 45
Репутация: 10
Сообщения: 128
Зарегистрирован: 31.01.2016
С нами: 8 лет 1 месяц

Сообщение #3 pikasso » 22.08.2016, 17:52

В api/Products.php не нашел что отвечает за описание body
в backend/ProductAdmin.php
нашел и по аналогии сделал

$product->body = $this->request->post('body');
$product->instruktion = $this->request->post('instruktion');

но как то маловато кажется...

m1hasik M
Аватара
m1hasik M
Возраст: 32
Репутация: 31
Сообщения: 200
Зарегистрирован: 12.11.2015
С нами: 8 лет 4 месяца
Откуда: Днепр
Skype

Сообщение #4 m1hasik » 22.08.2016, 18:42

pikasso писал(а):В api/Products.php не нашел что отвечает за описание body
в backend/ProductAdmin.php
нашел и по аналогии сделал

$product->body = $this->request->post('body');
$product->instruktion = $this->request->post('instruktion');

но как то маловато кажется...
в api/Products
нужно в функция get_product и get_products дописать это поле в выборке с базы данных, там где идет $query = бла бла SELECT и пошли поля с БД

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #5 korshunov » 22.08.2016, 19:33

m1hasik писал(а):в api/Products
нужно в функция get_product и get_products дописать это поле в выборке с базы данных, там где идет $query = бла бла SELECT и пошли поля с БД

Это Вы с Simpla путаете, похоже...


Для обработки в админке еще:
api/Languages.php
backend/design/html/product.tpl

pikasso M
pikasso M
Возраст: 45
Репутация: 10
Сообщения: 128
Зарегистрирован: 31.01.2016
С нами: 8 лет 1 месяц

Сообщение #6 pikasso » 22.08.2016, 22:45

Полез смотреть и пробовать...в голове бардак...сложно с симпла перейти на другой движок...

Добавлено спустя 8 минут 46 секунд:
в backend/design/html/product.tpl я внес сразу ...изменения...я определился какой код выполняет роль полного описания
<div class="block">
<h2>Полное описание</h2>
<textarea name="body" class="editor_large">{$product->body|escape}</textarea>
</div>
<div class="block">
<h2>Инструкция к товару (не заполнять-Пока не работает)</h2>
<textarea name="instruktion" class="editor_large">{$product->instruktion|escape}</textarea>
</div>

а вот api/Languages.php если добавляю к
$fields['products'] = array('name', 'meta_title', 'meta_keywords', 'meta_description', 'annotation', 'body');

instruktion

$fields['products'] = array('name', 'meta_title', 'meta_keywords', 'meta_description', 'annotation', 'instruktion', 'body');
то разрывает сайт и выскакивает белый экран в админке и на сайте

Добавлено спустя 8 минут 1 секунду:
в api/Products.php
я вообще ничего не нашел из то что нужно.

m1hasik M
Аватара
m1hasik M
Возраст: 32
Репутация: 31
Сообщения: 200
Зарегистрирован: 12.11.2015
С нами: 8 лет 4 месяца
Откуда: Днепр
Skype

Сообщение #7 m1hasik » 23.08.2016, 05:53

Код: Выделить всё

$query = "SELECT DISTINCT
                p.id,
                p.url,
                p.brand_id,
                p.position,
                p.created as created,
                p.visible,
                p.featured,
                p.rating,
                p.votes,
                p.last_modify,
                $lang_sql->fields
            FROM __products p
            $lang_sql->join
            $category_id_filter
            $variant_join
            $currency_join
            $yandex_filter
            WHERE
                1
                $product_id_filter
                $brand_id_filter
                $features_filter
                $keyword_filter
                $is_featured_filter
                $discounted_filter
                $in_stock_filter
                $has_images_filter
                $visible_filter
                $price_filter
                $group_by
            ORDER BY $order
            $sql_limit
        ";

Вот в такой кусок кода надо добавить ваше поле, для выборки.
Насчет Languages, то да, если надо мультиязычное поле, в нем тоже правки нужны.

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #8 korshunov » 23.08.2016, 07:38

У меня кое как заработало.
Надо догадаться, что новое поле надо вставлять в ДВЕ таблицы.

Зачем языковое поле вставлять в s_products - это знают только разработчики.

Вообще, просьба к поддержке. ВЫ ведь позиционируете свою CMS как простую в использовании не только для админа магазина, но и для программиста. А вот такой элементарный вопрос о добавлении поля - реализуется совсем не просто.
Было бы хорошо, если бы была официальная инструкция - как вставить дополнительное обычное поле и как вставить дополнительное языковое поле. Если бы разработчики потрудились такое написать, это очень помогло бы, поскольку встречается вышеописанный неожиданный момент. Наверняка вопросы подобные будут возникать и далее и Вы, кроме прочего, сэкономите себе время в будущем ..

OkayCMS M
Администратор
Аватара
OkayCMS M
Администратор
Репутация: 216
Сообщения: 1627
Зарегистрирован: 12.11.2015
С нами: 8 лет 4 месяца
Сайт Skype

Сообщение #9 OkayCMS » 23.08.2016, 08:46

В ближайшее время сделаем подобные инструкции.

pikasso M
pikasso M
Возраст: 45
Репутация: 10
Сообщения: 128
Зарегистрирован: 31.01.2016
С нами: 8 лет 1 месяц

Сообщение #10 pikasso » 23.08.2016, 14:13

m1hasik писал(а):

Код: Выделить всё

$query = "SELECT DISTINCT
                p.id,
                p.url,
                p.brand_id,
                p.position,
                p.created as created,
                p.visible,
                p.featured,
                p.rating,
                p.votes,
                p.last_modify,
                $lang_sql->fields
            FROM __products p
            $lang_sql->join
            $category_id_filter
            $variant_join
            $currency_join
            $yandex_filter
            WHERE
                1
                $product_id_filter
                $brand_id_filter
                $features_filter
                $keyword_filter
                $is_featured_filter
                $discounted_filter
                $in_stock_filter
                $has_images_filter
                $visible_filter
                $price_filter
                $group_by
            ORDER BY $order
            $sql_limit
        ";

Вот в такой кусок кода надо добавить ваше поле, для выборки.
Насчет Languages, то да, если надо мультиязычное поле, в нем тоже правки нужны.
-------------------------------------------------------------------------------------------------------
Вот за это огромное Мерси...заработало.
Для тех кто как я учится...еще добавьте в админке в переводе
instruktion - Инструкция (или как вам нужно)

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #11 korshunov » 22.02.2017, 04:42

OkayCMS писал(а):В ближайшее время сделаем подобные инструкции.

Полгода прошло. Пора бы уж выполнить...

OkayCMS M
Администратор
Аватара
OkayCMS M
Администратор
Репутация: 216
Сообщения: 1627
Зарегистрирован: 12.11.2015
С нами: 8 лет 4 месяца
Сайт Skype

Сообщение #12 OkayCMS » 22.02.2017, 09:26

korshunov писал(а):Полгода прошло. Пора бы уж выполнить...
Мы хотим сначала уже выпустить вторую версию, а затем делать инструкции. Чтобы по два раза не переделывать.

Crypter
Аватара
Crypter
Репутация: 11
Сообщения: 109
Зарегистрирован: 02.02.2016
С нами: 8 лет 1 месяц

Сообщение #13 Crypter » 24.02.2017, 13:31

С нетерпением Будем ждать или бетта-тестировать если надо :)

Дрим
Дрим

Сообщение #14 Дрим » 14.04.2017, 11:11

Можно подробную инструкцию по дополнительной вкладке?

Игорь
Игорь

Инструкция

Сообщение #15 Игорь » 09.09.2017, 18:13

OkayCMS писал(а):В ближайшее время сделаем подобные инструкции.
Когда будет подробная инструкция по добавлению дополнительных табов в товар?

Alexxey
Alexxey
Репутация: 0
Сообщения: 11
Зарегистрирован: 09.12.2017
С нами: 6 лет 3 месяца

Сообщение #16 Alexxey » 10.12.2017, 09:47

Присоединяюсь к просьбам пользователей насчет добавления табов в товар

OkayCMS M
Администратор
Аватара
OkayCMS M
Администратор
Репутация: 216
Сообщения: 1627
Зарегистрирован: 12.11.2015
С нами: 8 лет 4 месяца
Сайт Skype

Сообщение #17 OkayCMS » 10.12.2017, 15:55

Alexxey писал(а):Присоединяюсь к просьбам пользователей насчет добавления табов в товар

Отдал в работу, в течении недели будет.

Alexxey
Alexxey
Репутация: 0
Сообщения: 11
Зарегистрирован: 09.12.2017
С нами: 6 лет 3 месяца

Сообщение #18 Alexxey » 25.01.2018, 08:01

Когда ожидать инструкций по добавлению табов?

OkayCMS M
Администратор
Аватара
OkayCMS M
Администратор
Репутация: 216
Сообщения: 1627
Зарегистрирован: 12.11.2015
С нами: 8 лет 4 месяца
Сайт Skype

Сообщение #19 OkayCMS » 25.01.2018, 13:42

Alexxey писал(а):Когда ожидать инструкций по добавлению табов?
Инструкция пока очень сырая и нечитабельная, но рабочая. В понедельник доведем до ума сам текст и форматирование.

Alexxey
Alexxey
Репутация: 0
Сообщения: 11
Зарегистрирован: 09.12.2017
С нами: 6 лет 3 месяца

Сообщение #20 Alexxey » 25.01.2018, 16:17

Спасибо. Будем ждать.


Название раздела: Вопросы по работе с OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Вопросы по работе с OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 35 гостей