kubick
Новачок-
Публікації
8 -
З нами
-
Відвідування
kubick's Achievements
-
Дополнительное поле в категории.
topic відповів в kubick kubick Допомога програмістам та розробникам
Примерно 100 категорий предполагается, если делать вручную, администратор сайт будет постоянно зависеть от меня. Да и вручную делать это для 100 категорий, если учесть, что в среднем примерно 4 разных цвета идёт на каждую категорию, примерно 400 разных ссылок на цвета. Не очень удобно. Вообще этот код аналогичен, уже добавленному коду в админку, который позволяет дополнительно добавлять фотографии, к категории. И как я понимаю проблема в javasript где то, потому что как только я добавляю данный код, несмотря на то переменные все разные и разные запросы к бд, перестает работать и загрузка изображений. для дополнительных фотографий категорий. Начал читать учебник по javasript, но пока только в самом начале. -
Дополнительное поле в категории.
topic відповів в kubick kubick Допомога програмістам та розробникам
Уважаемые форумчане, помогите, пожалуйста! За последние полгода целеноправленно начал изучать HTML, CSS, PHP. К сожалению, пока не на всех этапах чётко понимаю код, в связи с этим возникают такие проблемы. Есть много тем, как добавить то или иное поле в продукт, но там они почему то либо не используют запросы к базе данных, либо добавляются в уже существующие таблицы. А данный пример, может стать прекрасным кейсом, как добавить поле в категории. Обязуюсь после нахождения ошибки, дописать вывод в пользовательскую часть, что бы пример был полным! -
Добрый день! Очень хочу добавить поле "цвета серии" в админку/категории, что бы впоследствии эти цвета серии отображались на странице категории. Но, к сожалению, после добавления фотографии в менеджере изображения, ничего не происходит! Фотографии не добавляются. Делал по аналогии со вкладкой изображения у Товара. Подскажите, пожалуйста где ошибка! 1. Создал таблицу в mysql: CREATE TABLE IF NOT EXISTS `oc_categ_colour` ( `categ_colour_id` int(11) NOT NULL AUTO_INCREMENT, `category_id` int(11) NOT NULL, `image` varchar(255) DEFAULT NULL, `sort_order` int(3) NOT NULL DEFAULT '0', PRIMARY KEY (`categ_image_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; 2. Добавил запросы в admin\model\catalog\category.php if (isset($data['categ_colour'])) { foreach ($data['categ_colour'] as $categ_colour) { $this->db->query("INSERT INTO " . DB_PREFIX . "categ_colour SET category_id = '" . (int)$category_id . "', image = '" . $this->db->escape(html_entity_decode($categ_colour['image'], ENT_QUOTES, 'UTF-8')) . "', sort_order = '" . (int)$categ_colour['sort_order'] . "'"); } } $this->db->query("DELETE FROM " . DB_PREFIX . "categ_colour WHERE category_id = '" . (int)$category_id . "'"); if (isset($data['categ_colour'])) { foreach ($data['categ_colour'] as $categ_colour) { $this->db->query("INSERT INTO " . DB_PREFIX . "categ_colour SET category_id = '" . (int)$category_id . "', image = '" . $this->db->escape(html_entity_decode($categ_colour['image'], ENT_QUOTES, 'UTF-8')) . "', sort_order = '" . (int)$categ_colour['sort_order'] . "'"); } } $this->db->query("DELETE FROM " . DB_PREFIX . "categ_colour WHERE category_id = '" . (int)$category_id . "'"); public function getCategoryColours($category_id) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "categ_colour WHERE category_id = '" . (int)$category_id . "'"); return $query->rows; } 3. Внёс изменения в admin\controller\catalog\category.php $this->data['entry_image'] = 'Рисунок'; $this->data['text_image_manager'] = 'Менеджер изображений'; $this->data['text_browse'] = 'Обзор'; $this->data['text_clear'] = 'Очистить'; $this->data['button_add_image'] = $this->language->get('button_add_image'); $this->data['button_remove'] = $this->language->get('button_remove'); $this->data['tab_image'] = $this->language->get('tab_image'); $this->data['tab_colours'] = 'Цвета серии'; $this->load->model('tool/image'); if (isset($this->request->post['categ_colour'])) { $categ_colours = $this->request->post['categ_colour']; } elseif (isset($this->request->get['category_id'])) { $categ_colours = $this->model_catalog_category->getCategoryColours($this->request->get['category_id']); } else { $categ_colours = array(); } $this->data['categ_colours'] = array(); foreach ($categ_colours as $categ_colour) { if ($categ_colour['image'] && file_exists(DIR_IMAGE . $categ_colour['image'])) { $image = $categ_colour['image']; } else { $image = 'no_image.jpg'; } $this->data['categ_colours'][] = array( 'image' => $image, 'thumb' => $this->model_tool_image->resize($image, 100, 100), 'sort_order' => $categ_colour['sort_order']); } $this->data['no_image'] = $this->model_tool_image->resize('no_image.jpg', 100, 100); 4. Добавил таб в admin\view\template\category\category-form.tpl id="tabs" class="htabs"><a href="#tab-general"><?php echo $tab_general; ?></a><a href="#tab-data"><?php echo $tab_data; ?></a><a href="#tab-design"><?php echo $tab_design; ?></a><a href="#tab-colours"><?php echo $tab_colours; ?></a></div> <div id="tab-colours"> <table id="images" class="list"> <thead> <tr> <td class="left"><?php echo $entry_image; ?></td> <td class="right"><?php echo $entry_sort_order; ?></td> <td></td> </tr> </thead> <?php $image_row = 0; ?> <?php foreach ($categ_colours as $categ_colour) { ?> <tbody id="image-row<?php echo $image_row; ?>"> <tr> <td class="left"><div class="image"><img src="<?php echo $categ_colour['thumb']; ?>" alt="" id="thumb<?php echo $image_row; ?>" /> <input type="hidden" name="categ_colour[<?php echo $image_row; ?>][image]" value="<?php echo $categ_colour['image']; ?>" id="image<?php echo $image_row; ?>" /> <br /> <a onclick="image_upload('image<?php echo $image_row; ?>', 'thumb<?php echo $image_row; ?>');"><?php echo $text_browse; ?></a> | <a onclick="$('#thumb<?php echo $image_row; ?>').attr('src', '<?php echo $no_image; ?>'); $('#image<?php echo $image_row; ?>').attr('value', '');"><?php echo $text_clear; ?></a></div></td> <td class="right"><input type="text" name="categ_colour[<?php echo $image_row; ?>][sort_order]" value="<?php echo $categ_colour['sort_order']; ?>" size="2" /></td> <td class="left"><a onclick="$('#image-row<?php echo $image_row; ?>').remove();" class="button"><?php echo $button_remove; ?></a></td> </tr> </tbody> <?php $image_row++; ?> <?php } ?> <tfoot> <tr> <td colspan="2"></td> <td class="left"><a onclick="addColour();" class="button"><?php echo $button_add_image; ?></a></td> </tr> </tfoot> </table> </div <script type="text/javascript"><!-- var image_row = <?php echo $image_row; ?>; function addColour() { html = '<tbody id="image-row' + image_row + '">'; html += ' <tr>'; html += ' <td class="left"><div class="image"><img src="<?php echo $no_image; ?>" alt="" id="thumb' + image_row + '" /><input type="hidden" name="categ_colour[' + image_row + '][image]" value="" id="image' + image_row + '" /><br /><a onclick="image_upload(\'image' + image_row + '\', \'thumb' + image_row + '\');"><?php echo $text_browse; ?></a> | <a onclick="$(\'#thumb' + image_row + '\').attr(\'src\', \'<?php echo $no_image; ?>\'); $(\'#image' + image_row + '\').attr(\'value\', \'\');"><?php echo $text_clear; ?></a></div></td>'; html += ' <td class="right"><input type="text" name="categ_colour[' + image_row + '][sort_order]" value="" size="2" /></td>'; html += ' <td class="left"><a onclick="$(\'#image-row' + image_row + '\').remove();" class="button"><?php echo $button_remove; ?></a></td>'; html += ' </tr>'; html += '</tbody>'; $('#images tfoot').before(html); image_row++; } //--></script>
-
Добрый день! Подскажите, пожалуйста, возможно ли реализовать модуль, который поможет сгруппировать товары, аналогично вложенному примеру. Т.е. изначально в админке создаются группы товаров, к примеру столы/тумбы/шкафы и т.д., товарам присваиваются группы, и уже на самой странице с товарами, товары компонуются в группы. Какова стоимость данного решения?
-
Как выяснилось, абсолютное позиционирование через CSS, наиболее простой вариант, и учитывая трудозатраты на иные решения - видимо максимально эффективный. Несмотря на одинаковый div ный блок в шаблоне представления tpl любой схемы (страницы) ,в контроллере каждой из этой схемы прописана немного разная логика работы. Таким образом, если переносить breadcrums в header.tpl к примеру, необходимо объединить в контроллере header.php, все варианты развития событий из других схем. В моем случае это точно не стоит того.
-
Вот у меня кстати, такой же вопрос! С абсолютным позиционированием не получается из-за того, что на главной странице хлебных крошек нет. Они прописаны в файле представления product/category.tpl и т.д. А так как он не подгружается на главной странице, ничего и не получиться. Сам div ный блок можно взять из файла представления product/category.tpl. Но я пока не понял, как теперь правильно инициализировать переменную breadcrums в контроллере controller/header.php Не подскажите?