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

OrganiZzZm

Новачок
  
  • Публікації

    3
  • З нами

  • Відвідування

Відвідувачі профілю

Блок відвідувачів профілю відключений і не буде доступний широкому іншим користувачам

OrganiZzZm's Achievements

Newbie

Newbie (1/14)

  • First Post
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

0

Репутація

  1. разобрался. в sql-запрос $product_attribute_query добавил a.icon и все заработало. Всем спасибо за внимание.
  2. с первой частью разобрался. перенес код из п.4 своего предыдущего поста выше по функции getForm() - теперь картинка к атрибуту прикрепляется теперь пытаюсь вывести картинки в карточку товара. в ...\catalog\view\theme\default\template\product\product.tpl это делается так: <div class="tab-pane" id="tab-specification"> <table class="table table-bordered"> <?php foreach ($attribute_groups as $attribute_group) { ?> <thead> <tr> <td colspan="2"><strong><?php echo $attribute_group['name']; ?></strong></td> </tr> </thead> <tbody> <?php foreach ($attribute_group['attribute'] as $attribute) { ?> <tr> <td><?php echo $attribute['name']; ?></td> <td><?php echo $attribute['icon']; ?></td> <!-- добавлена строка --> <td><?php echo $attribute['text']; ?></td> </tr> <?php } ?> </tbody> <?php } ?> </table> </div> насколько я понимаю, обработкой шаблона ...\catalog\view\theme\default\template\product\product.tpl занимается ...\catalog\controller\product\product.php Меня интересует строка $data['attribute_groups'] = $this->model_catalog_product->getProductAttributes($this->request->get['product_id']); функция getProductAttributes в ...\catalog\model\catalog\product.php выглядит так public function getProductAttributes($product_id) { $product_attribute_group_data = array(); $product_attribute_group_query = $this->db->query("SELECT ag.attribute_group_id, agd.name FROM " . DB_PREFIX . "product_attribute pa LEFT JOIN " . DB_PREFIX . "attribute a ON (pa.attribute_id = a.attribute_id) LEFT JOIN " . DB_PREFIX . "attribute_group ag ON (a.attribute_group_id = ag.attribute_group_id) LEFT JOIN " . DB_PREFIX . "attribute_group_description agd ON (ag.attribute_group_id = agd.attribute_group_id) WHERE pa.product_id = '" . (int)$product_id . "' AND agd.language_id = '" . (int)$this->config->get('config_language_id') . "' GROUP BY ag.attribute_group_id ORDER BY ag.sort_order, agd.name"); foreach ($product_attribute_group_query->rows as $product_attribute_group) { $product_attribute_data = array(); $product_attribute_query = $this->db->query("SELECT a.attribute_id, ad.name, pa.text FROM " . DB_PREFIX . "product_attribute pa LEFT JOIN " . DB_PREFIX . "attribute a ON (pa.attribute_id = a.attribute_id) LEFT JOIN " . DB_PREFIX . "attribute_description ad ON (a.attribute_id = ad.attribute_id) WHERE pa.product_id = '" . (int)$product_id . "' AND a.attribute_group_id = '" . (int)$product_attribute_group['attribute_group_id'] . "' AND ad.language_id = '" . (int)$this->config->get('config_language_id') . "' AND pa.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY a.sort_order, ad.name"); foreach ($product_attribute_query->rows as $product_attribute) { $product_attribute_data[] = array( 'attribute_id' => $product_attribute['attribute_id'], 'name' => $product_attribute['name'], 'icon' => $product_attribute['icon'], // добавлена строка 'text' => $product_attribute['text'] ); } $product_attribute_group_data[] = array( 'attribute_group_id' => $product_attribute_group['attribute_group_id'], 'name' => $product_attribute_group['name'], 'attribute' => $product_attribute_data ); } return $product_attribute_group_data; } в таком виде карточка товара приводит к ошибке Notice: Undefined index: icon in ...\catalog\model\catalog\product.php on line 324. Не могу понять в чем причина, ведь в oc_attribute графа icon присутствует и должна выгружаться в $product_attribute_query
  3. Доброго времени суток, уважаемые форумчане. Собственно интересует та же задача. Пытаюсь справиться своими силами. Исходные данные: движок ocstore 2.3.0.2.1, шаблон - дефолт Что сделано 1. в таблицу oc_attribute добавлена графа icon далее действовал по аналогии с прикреплением изображения к продукту 2. изменен файл admin/model/catalog/attribute.php следующим образом 2.1 в функцию addAttribute() добавлены строки if (isset($data['icon'])) { $this->db->query("UPDATE " . DB_PREFIX . "attribute SET icon = '" . $this->db->escape($data['icon']) . "' WHERE attribute_id = '" . (int)$attribute_id . "'"); } 2.2 в функцию editAttribute() добавлены строки if (isset($data['icon'])) { $this->db->query("UPDATE " . DB_PREFIX . "attribute SET icon = '" . $this->db->escape($data['icon']) . "' WHERE attribute_id = '" . (int)$attribute_id . "'"); } 3. в файл /admin/view/template/catalog/attribute_form.tpl добавлена конструкция <div class="form-group"> <label class="col-sm-2 control-label" for="input-sort-order"><?php echo $entry_icon; ?></label> <div class="col-sm-10"> <a href="" id="thumb-image" data-toggle="image" class="img-thumbnail"><img src="<?php echo $thumb_icon; ?>" alt="" title="" data-placeholder="<?php echo $placeholder_icon; ?>" /></a><input type="hidden" name="icon" value="<?php echo $icon; ?>" id="input-image" /> </div> </div> 4. в файле /admin/controller/catalog/attribute.php в функцию getForm() добавлены строки if (isset($this->request->post['icon'])) { $data['icon'] = $this->request->post['icon']; } elseif (!empty($attribute_info)) { $data['icon'] = $attribute_info['icon']; } else { $data['icon'] = ''; } $this->load->model('tool/icon'); if (isset($this->request->post['icon']) && is_file(DIR_IMAGE . $this->request->post['icon'])) { $data['thumb_icon'] = $this->model_tool_icon->resize($this->request->post['icon'], 100, 100); } elseif (!empty($attribute_info) && is_file(DIR_IMAGE . $attribute_info['icon'])) { $data['thumb_icon'] = $this->model_tool_icon->resize($attribute_info['icon'], 100, 100); } else { $data['thumb_icon'] = $this->model_tool_icon->resize('no_image.png', 100, 100); } $data['placeholder_icon'] = $this->model_tool_icon->resize('no_image.png', 100, 100); Эти мероприятия привели к тому, что в графу icon таблицы oc_attribute прописывается путь к изображению. Однако обратной связи нет. В карточке атрибута это изображение не отображается (попытка считать содержимое $thumb_icon приводит к "Notice: Undefined variable: thumb_icon in ...\admin\view\template\catalog\attribute_form.tpl on line 69" ). Точно так же себя ведет попытка вывести $attribute['icon'] в карточку товара – Undefined index: icon. Складывается впечатление, что в $attribute_info значение графы icon не попадает. Подскажите, пожалуйста, в какую сторону копать дальше? И в каком месте данные переменные объявляются? Подскажите, в какую сторону копать, и где мне их

×
×
  • Створити...

Important Information

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