

megrel
Users-
Posts
189 -
Joined
-
Last visited
Content Type
Profiles
Forums
Marketplace
Articles
FAQ
Our New
Store
Blogs
module__dplus_manager
Everything posted by megrel
-
Последнее время не получается импортировать БД на на timeweb, ни на beget. Выдает такую ошибку ALTER TABLE `product_description` ADD PRIMARY KEY (`product_id`,`language_id`), ADD KEY `name` (`name`), ADD KEY `beget_auto_idx_1` (`language_id`), ADD KEY `beget_auto_idx_2` (`name`), ADD FULLTEXT KEY `description` (`description`), ADD FULLTEXT KEY `tag` (`tag`), ADD FULLTEXT KEY `description_2` (`description`); Ответ MySQL: dot.gif #1214 - The used table type doesn't support FULLTEXT indexes Раньше делал все тоже самое, экспортировал из одной, и импортировал в другую. Может ли это быть связано с обновлением phpmyadmin? И что делать в таком случае
-
Еще мысль, шаблон для схемы. Тоже думаю полезная штука будет)
- 250 replies
-
- custom templates
- персонализованные шалбоны
- (and 10 more)
-
Очень полезный модуль. Автору спасибо. Но не хватает возможности выбрать шаблон для товаров определенного бренда, было бы круто.
- 250 replies
-
- custom templates
- персонализованные шалбоны
- (and 10 more)
-
Да, действительно дороговато, максимум 300р. Может и покупать начнут
-
Доработка категорий
megrel replied to megrel's topic in Программирование, создание модулей, изменение функциональности
1. стандартный модуль категорий 2. в списке подкатегорий на странице категории Ну или вобще, если возможно такой вариант: если категория выключена (или порядок сортировки -1), то она не отображается нигде вообще, но по прямой ссылке будет доступна -
Доработка категорий
megrel replied to megrel's topic in Программирование, создание модулей, изменение функциональности
И сколько будет это стоить примерно? -
Интересный модуль. Купил бы точно, если бы была возможность выводить модуль не по схемам, а по категориям
- 28 replies
-
- рекомендуемые
- клон рекомендуемых
- (and 2 more)
-
[Поддержка] Логотип производителя в карточке товара (vQmod)
megrel replied to mstkalenko's topic in Другие дополнения
Зачем платить 300р за ваш модуль, когда уже давно есть бесплатное vqmod решение?) -
То есть, не выводит в админке из за того, что неправильно написал в vqmod вывод этих строк: <operation error="skip"> <search position="after"><![CDATA[ <tr> <td><?php echo $entry_description; ?></td> <td><textarea name="category_description[<?php echo $language['language_id']; ?>][description]" id="description<?php echo $language['language_id']; ?>"><?php echo isset($category_description[$language['language_id']]) ? $category_description[$language['language_id']]['description'] : ''; ?></textarea></td> </tr> ]]></search> <add><![CDATA[ <tr> <td><?php echo $entry_description2; ?></td> <td><textarea name="category_description[<?php echo $language['language_id']; ?>][description2]" id="description2<?php echo $language['language_id']; ?>"><?php echo isset($category_description[$language['language_id']]) ? $category_description[$language['language_id']]['description2'] : ''; ?></textarea></td> </tr> ]]></add> </operation> Я извиняюсь, может не понимаю чего-то элементарного, но на данном этапе своих знаний не в силах решить эту проблему сам (
-
Здравствуйте. На одном из сайтов сделал два описания для категорий. Может кому пригодится данное решение. Движок - Ocstore 1.5.4.1 Шаг 1. База данных. Создадим дополнительный столбец для таблицы "category_description" Выполняем SQL запрос для нашей БД: ALTER TABLE `category_description` ADD `description2` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `description` Шаг 2. Правим файлы административной части admin/controller/catalog/category.php После: $this->data['entry_description'] = $this->language->get('entry_description'); Добавить: $this->data['entry_description2'] = $this->language->get('entry_description2'); admin/language/russian/catalog/category.php После: $_['entry_description'] = 'Описание:'; Добавляем: $_['entry_description2'] = 'Описание нижнее:'; admin/model/catalog/category.php Ищем на 13 и на 47 строчках: $this->db->query("INSERT INTO " . DB_PREFIX . "category_description SET category_id = '" . (int)$category_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "', seo_title = '" . $this->db->escape($value['seo_title']) . "', seo_h1 = '" . $this->db->escape($value['seo_h1']) . "'"); Заменяем на: $this->db->query("INSERT INTO " . DB_PREFIX . "category_description SET category_id = '" . (int)$category_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "', description2 = '" . $this->db->escape($value['description2']) . "', seo_title = '" . $this->db->escape($value['seo_title']) . "', seo_h1 = '" . $this->db->escape($value['seo_h1']) . "'"); Находим: 'description' => $result['description'] Заменяем на: 'description' => $result['description'], 'description2' => $result['description2'] admin/view/template/catalog/category_form.tpl После: <tr> <td><?php echo $entry_description; ?></td> <td><textarea name="category_description[<?php echo $language['language_id']; ?>][description]" id="description<?php echo $language['language_id']; ?>"><?php echo isset($category_description[$language['language_id']]) ? $category_description[$language['language_id']]['description'] : ''; ?></textarea></td> </tr> Вставляем: <tr> <td><?php echo $entry_description2; ?></td> <td><textarea name="category_description[<?php echo $language['language_id']; ?>][description2]" id="description2<?php echo $language['language_id']; ?>"><?php echo isset($category_description[$language['language_id']]) ? $category_description[$language['language_id']]['description2'] : ''; ?></textarea></td> </tr> В конце файла находим: script type="text/javascript"><!-- <?php foreach ($languages as $language) { ?> CKEDITOR.replace('description<?php echo $language['language_id']; ?>', { filebrowserBrowseUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>', filebrowserImageBrowseUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>', filebrowserFlashBrowseUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>', filebrowserUploadUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>', filebrowserImageUploadUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>', filebrowserFlashUploadUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>' }); <?php } ?> //--></script> И после добавляем: script type="text/javascript"><!-- <?php foreach ($languages as $language) { ?> CKEDITOR.replace('description2<?php echo $language['language_id']; ?>', { filebrowserBrowseUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>', filebrowserImageBrowseUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>', filebrowserFlashBrowseUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>', filebrowserUploadUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>', filebrowserImageUploadUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>', filebrowserFlashUploadUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>' }); <?php } ?> //--></script> Шаг 3. Выводим все это в клиентскую часть catalog/controller/product/category.php После: $this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8'); Вставляем: $this->data['description2'] = html_entity_decode($category_info['description2'], ENT_QUOTES, 'UTF-8'); Ну и наконец, выводим наше второе описание на страницу категории. catalog/view/default/template/product/category.tpl Перед: <div class="buttons"> <div class="right"><a href="<?php echo $continue; ?>" class="button"><?php echo $button_continue; ?></a></div> </div> Вставляем: <div class="category-info"> <?php if ($description2) { ?> <?php echo $description2; ?> <?php } ?> </div> У меня получилось вывести второе описание для категорий. Сделал vqmod для данного решения, но он почему-то не хочет работать. Что не так в нем, может что упустил? category-description-2.xml
-
Родительские и дочерние статьи
megrel replied to megrel's topic in Допомога програмістам та розробникам
Как раз на днях читал на твоем сайте про то, как сделать наоборот, для категорий, убрать пару строк из seo_url, seo_pro. Может не надо их переписывать, а добавить несколько строчек, я просто не знаю. Или много чего надо добавлять? -
Искал решение для того, чтобы сделать структуру статей иерархической. Есть пара модулей на офф.сайте, но повезло наткнуться на данное решение через vqmod. Все бы хорошо. То, что надо. Но один маленький недостаток, который надеюсь поможет кто нибудь решить. В url отсутствует иерархия, т.е. выводит просто - site.ru/subinformation. В идеале было бы классно так - site.ru/information/subinformation. Вот vqmod: <modification> <id>Information Pages Hierarchy</id> <version>1.0.0</version> <vqmver>2.1</vqmver> <author><![CDATA[<a href="http://teslitsky.info">Dmitry Teslitsky</a>]]></author> <file name="admin/language/russian/catalog/information.php"> <operation> <search position="before"><![CDATA[$_['entry_layout']]]></search> <add><![CDATA[$_['entry_position_header'] = 'Отображать в хедере:';$_['entry_parent'] = 'Родительская статья:';]]></add> </operation> </file> <file name="admin/language/english/catalog/information.php"> <operation> <search position="before"><![CDATA[$_['entry_layout']]]></search> <add><![CDATA[$_['entry_position_header'] = 'Show in header:';$_['entry_parent'] = 'Parent page:';]]></add> </operation> </file> <file name="admin/view/template/catalog/information_form.tpl"> <operation> <search position="before"><![CDATA[<td><?php echo $entry_keyword; ?></td>]]></search> <add><![CDATA[ <td><?php echo $entry_parent; ?></td> <td> <select name="parent"> <option></option> <?php foreach ($parents as $parent): ?> <?php if ((int) $information_id === (int) $parent['id']) continue; ?> <?php if ((int) $parent_id === (int) $parent['id']) : ?> <option value="<?php echo $parent['id']; ?>" selected="selected"><?php echo $parent['name']; ?></option> <?php else : ?> <option value="<?php echo $parent['id']; ?>"><?php echo $parent['name']; ?></option> <?php endif; ?> <?php endforeach; ?> </select> </td></tr><tr> ]]></add> </operation> <operation> <search position="before"><![CDATA[<td><?php echo $entry_bottom; ?></td>]]></search> <add><![CDATA[ <td><?php echo $entry_position_header; ?></td> <td><?php if ($position_header) { ?> <input type="checkbox" name="position_header" value="1" checked="checked" /> <?php } else { ?> <input type="checkbox" name="position_header" value="1" /> <?php } ?></td></tr><tr> ]]></add> </operation> </file> <file name="admin/controller/catalog/information.php"> <operation> <search position="after"><![CDATA[$this->data['entry_layout'] = $this->language->get('entry_layout');]]></search> <add><![CDATA[$this->data['entry_position_header'] = $this->language->get('entry_position_header');$this->data['entry_parent'] = $this->language->get('entry_parent');]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['action'] = $this->url->link('catalog/information/update', 'token=' . $this->session->data['token'] . '&information_id=' . $this->request->get['information_id'] . $url, 'SSL');]]></search> <add><![CDATA[$this->data['information_id'] = (int) $this->request->get['information_id'];]]></add> </operation> <operation> <search position="before"><![CDATA[if (isset($this->request->post['bottom'])) {]]></search> <add><![CDATA[ if (isset($this->request->post['position_header'])) { $this->data['position_header'] = $this->request->post['position_header']; } elseif (!empty($information_info)) { $this->data['position_header'] = $information_info['position_header']; } else { $this->data['position_header'] = 0; } if (isset($this->request->post['parent'])) { $this->data['parent_id'] = $this->request->post['parent']; } elseif (!empty($information_info)) { $this->data['parent_id'] = $information_info['parent_id']; } else { $this->data['parent_id'] = 0; } ]]></add> </operation> <operation> <search position="before"><![CDATA[$this->data['layouts'] = $this->model_design_layout->getLayouts();]]></search> <add><![CDATA[ $parents = array(); $informations = $this->model_catalog_information->getInformations(); foreach ($informations as $information) { $parents[] = array( 'id' => (int) $information['information_id'], 'name' => $information['title'], 'parent_id' => $information['parent_id'], ); } $this->data['parents'] = $parents; ]]></add> </operation> </file> <file name="admin/model/catalog/information.php"> <operation> <search position="replace"><![CDATA[sort_order = '" . (int)$data['sort_order'] . "']]></search> <add><![CDATA[sort_order = '" . (int)$data['sort_order'] . "', parent_id = '" . (int)$data['parent'] . "', position_header = '" . (isset($data['position_header']) ? (int)$data['position_header'] : 0) . "']]></add> </operation> </file> <file name="catalog/model/catalog/information.php"> <operation> <search position="before"><![CDATA[public function getInformation($information_id)]]></search> <add><![CDATA[ public function getInfoTree($information_id) { $informations = $this->getInformations(); $nodes = array(); foreach ($informations as $information) { $nodes[(int)$information['information_id']] = $information; } $result = array(); do { $result[] = $nodes[$information_id]; $information_id = $nodes[$information_id]['parent_id']; } while ($information_id); return array_reverse($result); } ]]></add> </operation> </file> <file name="catalog/controller/information/information.php"> <operation> <search position="before" offset="2"><![CDATA['text' => $information_info['title']]]></search> <add><![CDATA[ $information_tree = $this->model_catalog_information->getInfoTree($information_id); foreach ($information_tree as $node) { ]]></add> </operation> <operation> <search position="replace"><![CDATA[$this->url->link('information/information', 'information_id=' . $information_id)]]></search> <add><![CDATA[$this->url->link('information/information', 'information_id=' . $node['information_id'])]]></add> </operation> <operation> <search position="after" offset="4"><![CDATA['text' => $information_info['title']]]></search> <add><![CDATA[}]]></add> </operation> <operation> <search position="replace"><![CDATA['text' => $information_info['title']]]></search> <add><![CDATA['text' => $node['title']]]></add> </operation> </file> </modification>