Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Дополнительные поля продукта


FreeDemon

Recommended Posts

  • 2 weeks later...

Возможно тупой вопрос, но спрошу.

Что будет если добавить в таблищу новое поле не после оригинального, и в редактируемых файлах тоже хаотично не по порядку поместить переменную, а напрмиер добавить в базе ячейку в конец таблицы, а переменную в файлах прописать в одном в середине, в другом в конце и так далеее?

Думаю это будет как-то влиять на последовательность запросов и вероятно лишний раз будет обращение к файлам и базе. Так и будет?

Надіслати
Поділитися на інших сайтах


Wadim9715, выборка (если не указаны имена столбцов, которые выбираются) идет от первого к последнему.

Также присваиваются значения переменным при mysql_fetch_array().

Однако!

В Opencart значения из БД передаются в переменную через mysql_fetch_assoc().

Таким образом мы получаем массив значений с ключами идентичными названиям столбцов в БД (или их алиасам, указанным в самом sql-запросе).

Посмотрите блок получения данных по продуктам в catalog/controller/catalog/category.php.

ИТОГ: проблем быть не должно ;)

Надіслати
Поділитися на інших сайтах

  • 1 month later...

google -> mysql alter table

Исчерпывающий ответ... почему программисты любят посылать "на" в культурной форме? Пойду куплю книгу по SQL может странице на 500 пойму в какую таблицу прописать ALTER TABLE... Спасибо уважаемые OC Team! Без вас бы я никогда не начал изучать PHP и SQL... Просто обидно когда человек начинающий пытается разобраться во всем сам, и задает вопросыю... а это специализированный форум поддержки OpenCart... а ему говорят кури форум или гугл или Яндекс.

Надіслати
Поділитися на інших сайтах


...а это специализированный форум поддержки OpenCart...

...а не справочная по основам php/mysql https://opencartforum.com/public/style_emoticons/default/dry.gif
Надіслати
Поділитися на інших сайтах

Я прописал в oc_product, поле Краткое описание высвечивается только когда данные туда вносишь, они не отображаются и не сохраняются в админке... могу сделать вывод что еще гдето надо прописать Alter table...

Надіслати
Поділитися на інших сайтах


Поле(я) добавляется(ются) в ту(е) таблицу(ы), в которую(ые) вам надо.

"Прописывать где-то еще" ничего не надо :)

Решили сделать краткое описание товару - лучше добавить поле в таблицу

product_description

поле Краткое описание высвечивается только когда данные туда вносишь

Вы хотели, чтобы движок угадывал, что вы хотите видеть в кратком описании? О_о

Естественно данные надо вносить.

они не отображаются и не сохраняются в админке

В этой теме, в первом сообщении подробно описано, что надо сделать с файлами админки.
Надіслати
Поділитися на інших сайтах

поле Краткое описание высвечивается только когда данные туда вносишь

это описка Сорри, я имел ввиду что не сохраняются данные "краткого описания" и следовательно не высвечиваются на сайте

это описка Сорри, я имел ввиду что не сохраняются данные "краткого описания" и следовательно не высвечиваются на сайте

пробовал переписать

ALTER TABLE `имя_таблицы` ADD `price_for` varchar(64) NOT NULL;

в таблицу oc_product_description, однако после этого, когда товар добавляеш высвечивает ошибку что не находит переменную price_for. в итоге оставил в oc_product. Единственное счас при в внесении любых данных в "созданное поле", они не сохраняются а высвечивается 0, (и неважно что вносилось, текст или число) Змінено користувачем afwollis
объединил сообщения
  • +1 1
Надіслати
Поділитися на інших сайтах


ALTER TABLE `имя_таблицы` ADD `price_for` varchar(64) NOT NULL;
поменять в запросе, заносящем данные в базу,

(int)$price_for
на

$this->db->escape($price_for)
  • +1 1
Надіслати
Поділитися на інших сайтах

(int)$price_for

нигде в запросе не указано, прописывал в запрос (float)$data['price_for'].

А еще когда открываешь товар вверху страницы высвечивается

Notice: Undefined variable: price_for in /home/westmarketby/www/westmarket.by/catalog/controller/product/product.php on line 329

что может быть?
Надіслати
Поділитися на інших сайтах


Кароче методом тыка вставил я вместо (float)$data['price_for'] ----> $this->db->escape($data['price_for']) -- заработало стало высвечиваться в товаре значение поля "price_for" а надпись

Notice: Undefined variable: price_for in /home/westmarketby/www/westmarket.by/catalog/controller/product/product.php on line 329

я решил так: 'price_for' => $'price_for',

заменил на:

'price_for' => $result['price_for'],

только не знаю насколько это правильно, но ошибок больше не выдает!

Отдельная благодарность afwollis, поддержал меня в этом нелегком деле "ковырянии php" ))

Счас попробую разобраться в привязке нового поля к модулю экспорт/импорт :rolleyes:

Змінено користувачем 1nstinkt
Надіслати
Поділитися на інших сайтах


Весьма интересная и познавательная дискуссия . Однако, насколько я понял, это для внесения доп.значений в атрибуты товара в админке в ручную (ну какие проблемы пару десятков тысяч товаров пропечатать :) ). Сразу напрашивается вопрос уже по моей теме - нужно отображение атрибутов товара в магазине. Имеем поля атрибутов в самой админке, куда можем внести нужные мне - вес, высота, ширина, длина. В Exel данные заполняются и прекрасно влетают в эти атрибуты и имеют место быть там. Но - в базе отсутствуют доп.поля для этих данных, второе - в самой админке я не могу указать разрешение или запрет на показ этих атрибутов - просто нет такой функции. Отюсда - в самом магазине они не показываются и не могут быть учтены при расчете стоимости доставки. Как мы все знаем, при отправке товара по почте, для получения стоимости отправки бандероли требуются некоторые данные для оператора - то бишь = размер бандероли (выходит ли за рамки допустимых или нет ) вес бандероли, если входит в рамки допустимых размеров, исходя из этих данных и данных адресата (куда именно - регион), она высчитывает стоимость отправки. У меня вызывает недоумение отношение разработчиков скриптов любых магазинов и их сопровождающих (техподдержки) - неужели все магазины работают только по доставке в черте города нахождения этого магазина? Или все скрипты пишутся в расчете на самоудовлетворение программистов ? Или просто программисты уже обросли паутиной у своих клав и не видят что мир крутится не только во круг их мониторов . Программисты разве в магазине одежду и другие товары не покупают? Или не смотрят на на размер , на вес, на цвет - быстро купил и к клаве родной - стучать,стучать и стучать, как завещал великий ... !

Неужели сразу нельзя понять и сделать - товаров много разных, а атрибутов товаров всего ничего- вес, размер, цвет, объем, да настучите кучу полей, люди сами, что нужно им, включат или выключат. Неужели это такая проблема 10 строк скрипта? Или потом не кого будет посылать учить пхп и мускуль? Так что ли ?

Где решение вопроса расчета доставки ? Я перелопатил кучу скриптов магазинов - они реализованы только в платных версиях и то не во всех.

Почему тут на форуме поддержки скрипта эта тема просто не находится и не решается, и, поиск между прочим, не рулит, гугл тоже не рулит, и яшка тож. Все (практически) пути ведут сюда на форум. Где подтверждение бахвальства, что данный скрипт может дать фору даже платным ?

Может кто-то решит данную проблему ? Или посоветуете тоже учить PHP и MySql и писать магазин под себя ?

Других владельцев магазинов тоже данная проблема, как я вижу не интересуют. Все заняты окультуриванием собственных проектов, а вот кто товар потребителям отправляет? И как ?

Кто что ответит ?

Надіслати
Поділитися на інших сайтах


Отюсда - в самом магазине они не показываются и не могут быть учтены при расчете стоимости доставки.

Да, а стандартный модуль "Доставка в зависимости от веса" просто так сделан, это они пользователя пугают. И модуль "Доставка EMS" тоже не учитывает вес товара. А уж о том, что можно выводить в шаблоне аттрибуты товара типа:

$product_info['weight']

$product_info['length']

cashfile не писал еще в июне 2010 года.
  • +1 1
Надіслати
Поділитися на інших сайтах


Да, а стандартный модуль "Доставка в зависимости от веса" просто так сделан, это они пользователя пугают. И модуль "Доставка EMS" тоже не учитывает вес товара. А уж о том, что можно выводить в шаблоне аттрибуты товара типа:

cashfile не писал еще в июне 2010 года.

Ой спасибки огромное! Поиск не рулит, но хоть вам спасибо, вы рулите.. я просто заколебался стукать буквы в поиске. Тем более за 10 год..Ща пойду править. Зарегился на eDost, а проверить сервис не могу. Вроде все есть и прописано , но нет вывода. Через доставка в зависимости от веса ваще не понятна. Может у меня что то не то в админке...EMS модуля у меня нет. Ну да ладно. Спасибо за отклик и за ссылку.
Надіслати
Поділитися на інших сайтах


Надіслати
Поділитися на інших сайтах


Еще раз спасибо!

На 0.1.7 будет работать ? Там вроде для 0.1.4

Надіслати
Поділитися на інших сайтах


На 0.1.7 будет работать ? Там вроде для 0.1.4

между 1.4.8 и 1.4.9.3 не очень большие изменения
  • +1 1
Надіслати
Поділитися на інших сайтах


19th

Прошу помощи.

1- поставил EMS: в админке дает ошибки -Notice: Undefined variable: locations in /home/httpd/vhosts/souvenir-s.net/httpdocs/admin/view/template/shipping/ems.tpl on line 40 (<?php if ($locations) { ?>) и тоже на линии 51 (<td class="center" colspan="8"><?php echo $text_no_results; ?></td>) Что нужно тут ? я не спец в программировании

2- прошел по данной ссылке -- мне кажется там отсутствует часть текста, потому что не ясно где что подставлять по 2 пункту. Через поиск блокнота и CodeLobster не нашел <b></b> и тем более в .. видимо между ними какой то текст (код) должен стоять, в коде <b> много однако и между ними идет код.

Если не трудно подскажи пожалуйста.

Надіслати
Поділитися на інших сайтах


2- прошел по данной ссылке -- мне кажется там отсутствует часть текста, потому что не ясно где что подставлять по 2 пункту. Через поиск блокнота и CodeLobster не нашел <b></b> и тем более в

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

Пример:

<tr>
                <td><b><?php echo $text_availability; ?></b></td>
                <td><?php echo $stock; ?></td>
              </tr>
превращается в

<tr>
                <td><b><?php echo $text_availability; ?></b></td>
                <td><?php echo $stock; ?></td>
              </tr>
    <tr>
                <td><b>Код:</b></td>
                <td>SKU:[/b]<?php echo $product_info'sku'; ?></td>
              </tr>
Не забудьте, что сохранять нужно в UTF8 без BOM (я использую Notepad++)
  • +1 1
Надіслати
Поділитися на інших сайтах


1- поставил EMS: в админке дает ошибки -Notice: Undefined variable: locations in /home/httpd/vhosts/souvenir-s.net/httpdocs/admin/view/template/shipping/ems.tpl on line 40 (<?php if ($locations) { ?>) и тоже на линии 51 (<td

Включи этот способ доставки, я его не вижу в выборе на сайте.
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.