-
Публікації
72 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Повідомлення, опубліковані користувачем dmonco
-
-
Требуется программист для доработки модуля.
Цену обсудим. Задание в личку.
Наличие скайпа обязательно.
-
Кому я не отвечал?
Сделали скрипт по продаже ключей.
Он работает здесь: zoolasoft.co.il
-
спасибо, он самый
- 1
-
Не могу найти контроллер для письма, которое отправляется после успешного оформления заказа. Сам шаблон находится здесь: catalog/view/theme/default/template/mail/order.tpl
Нужно дописать некоторые переменные. Отдельного контроллера mail/order.php нет.
Куда зашили, не знаю.
-
Заканчиваю с модулем по продаже ключей к программам.
Работает так:
1. Создаем товар (страница модифицирована)
2. Ставим галочку, что будем продавать ключи
3. Вставляем ключи по одному в строку (если софт имеет два ключа, вставляем два ключа в одну строку)
4. Клиент покупает товар, первый ключ (проданный) удаляется отсюда и т.д.
5. Проданные ключи владелец может посмотреть в статистике продаж в админке (дорабатывается)
6. В личном аккаунте для пользователя добавлена страница: купленные ключи
7. В шаблон письма (после заказа), и на success page добавлена ссылка на серийный ключи.
Кого интересует скрипт, обращаемся на [email protected]
P.S. Для знающих. Не могу найти контроллер для письма, которое отправляется после успешного оформления заказа. Сам шаблон находится здесь: catalog/view/theme/default/template/mail/order.tpl
Нужно дописать некоторый кусок кода. Кто знает где, напишите.
-
У меня та же фигня.
Как решили вопрос?
Если не решили, даю подсказку, это не в верстке.
Если присмотреться в исходный код в английской версии (где всё нормально) идёт так:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en" xml:lang="en">
А когда переключаю на другой язык, уже выглядит так:
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="ru" xml:lang="ru"> <head></head> <body> "" <!--?xml version="1.0" encoding="UTF-8"?-->
Этот код в Google инструментах разработчиках. Если смотреть полностью исходный код, он выглядит правильно.А так через инструменты, если удалить сами ковычки перед <!--?xml version="1.0" encoding="UTF-8"?--> белая строка сверху пропадает.
Какие мысли по этому поводу? Где эти ковычки искать? Откуда они там появляются? Уже все файлы template просмотрел.
-
На какой сайт Вы вбили? Использую последнюю версию опенкарта, имеется три модуля PayPal, ни в одном нет возможности прописатьДа кстати, появилась рускоязычная версия. На сколько я знаю, недавно.
Мне не доставило проблем повысить свой статус покупателя до продавца.
Без проблем получил API username, password и тп. Все вбил на сайт. Осталось только протестировать
Я хотел узнать, а есть ли отдельный модуль оплаты товаров визой, мастеркарт и тп. Дебетовыми и кредитными.
API Username, API Password и Signature. Может кто знает, нужно другой модуль ставить?
-
Так времени доделать не было, пришлось заказать. Сделали мне под 1.4.9 Также в импорт/экспорт добавил, поэтому теперь есть 3 цены: cost, wholesale и просто price. Очень удобный функционал. Но нужно всегда следить, чтобы обязательно была цена оптовая и простая. Также, специальные теперь не будут работать. Путаница выйдет.
-
Всем спасибо за обширную тему особенно разработчику фильтра. Установил, фильтр работает нормально.
Однако возникла кое-какая проблема, которой здесь в теме не нашел.
У меня стоит 1.4.9 Имеется модуль:
Next and Previous Product Links v2.2
Этот модуль добавляет ссылки на странице товара следующий - предыдущий, чтобы не выходить обратно в категорию.
После установки фильтра этот модуль перестал работать. Он не видит id категорий и товаров.
Вот ошибка:
Notice: Undefined offset: 1 in /catalog/model/catalog/product.php on line 22 Notice: Undefined variable: products_np_ids in /catalog/controller/GooberMods/NextPrevLinks/mod_part1.inc.php on line 122 Warning: array_search() [function.array-search]: Wrong datatype for second argument in /catalog/controller/GooberMods/NextPrevLinks/mod_part1.inc.php on line 122 Notice: Undefined variable: products_np_multi in /catalog/controller/GooberMods/NextPrevLinks/mod_part1.inc.php on line 127 Notice: Undefined variable: products_np_multi in /catalog/controller/GooberMods/NextPrevLinks/mod_part1.inc.php on line 130 Notice: Undefined variable: products_np_multi in /catalog/controller/GooberMods/NextPrevLinks/mod_part1.inc.php on line 145
Есть мысли как исправить?В дополнение вот рабочая ссылка:
mysite.com/товары/товар-1111
Когда делаю переход на следующий товар, ссылка должна была быть такая: mysite.com/товары/товар-2222
а она вместо этого имеет такой вид mysite.com/товары?product_id=
Естественно пишет, что товар не найдет
-
А почему-бы не развить тему. Это выход -1 помог balama, а вопрос, как допилить свою страницу остается открытый.
На форумах вопросы встречаются, ответов ноль. Единственное, знаю, что можно добавить контроллер, модуль оставить тот же, сделать своё view и всё готово. Но как-то сложновато. Может есть проще решение?
Задача в том, что мне нужно вывести абсолютно пустую страницу на которой будет выводится один из модулей, к примеру последние товары.
Например, чтоб к странице путь был mysite.com/novayastranitsa.html
Какие варианты?
-
Спасибо. Буду осваивать.
-
Всем добрый день.
Пытаюсь освоить Яндекс Маркет.
Тем много прочитал, но столкнулся с проблемой, которую не получается решить самостоятельно.
При проверке Яндекс Маркетом моего файла yml выдает сообщение:
При проверке выявлены некритичные ошибки.
При этом проверил уже все варианты, от чего возникает такая ошибка.
Некритичные ошибки касаются загрузки изображений.
Пробелов в адресе к фото нет, но на всякий случай дописал
$data['picture'] = str_replace(' ', '%20', $data['picture']);
Пришел к тому, что некоторые изображения имею в адресе русские символы. Скорее всего это и есть ошибка.Примеры:
Предупреждение: Некорректный URL адрес картинки предложения:
сайт/image/cache/data/autumn/047-1-3_черный_фас-500x500.jpg (строка 164, столбец 119)
Предупреждение: Некорректный URL адрес картинки предложения: сайт/image/cache/data/autumn/1045-3-1_белый_фас-500x500.jpg (строка 179, столбец 119)
Вручную переписывать с русских символов на латинские символы займет кучу времени.
Может какую-то функцию дописать что-то типа translit
Как исправить?
-
Нашел решение. Всё работает.
Вот инструкция.
SEO URLs To add support for SEO URLs, use the following instructions:– In "catalog/controller/common/seo_url.php", add the following:– if ($url[0] == 'news_id') { $this->request->get['news_id'] = $url[1]; } after if ($url[0] == 'information_id') { $this->request->get['information_id'] = $url[1]; } Then insert } elseif (isset($this->request->get['news_id'])) { $this->request->get['route'] = 'information/news'; before the closing "}" in the block that reads if (isset($this->request->get['product_id'])) { $this->request->get['route'] = 'product/product'; } elseif (isset($this->request->get['path'])) { $this->request->get['route'] = 'product/category'; } elseif (isset($this->request->get['manufacturer_id'])) { $this->request->get['route'] = 'product/manufacturer'; } elseif (isset($this->request->get['information_id'])) { $this->request->get['route'] = 'information/information'; } Then in "catalog/model/tool/seo_url.php", insert " || ($key == 'news_id')" into line 14 so that it reads something like: if (($key == 'product_id') || ($key == 'manufacturer_id') || ($key == 'information_id') || ($key == 'news_id')) {
Единственный вопрос остался, как именно для версии 0.1.7 (1.4.9) сделать SEO URL для ссылки все новости: /index.php?route=information/news
-
Я создал отдельно тему по настройке SEO URL для Oprncart 1.4.9
Присоединяйтесь к обсуждению
-
Читаю здесь советы по настройке СЕО ЧПУ для модуля новостей.
У меня всё заканчивается вот этим
if (($data['route'] == 'product/product' && $key == 'product_id') || (($data['route'] == 'product/manufacturer/product' || $data['route'] == 'product/product') && $key == 'manufacturer_id') || ($data['route'] == 'information/information' && $key == 'information_id')) {
Версия ОС 1.4.9
В файле catalog/controller/common/seo_url.php нет выше приведенной строчки, чтобы её заменить на
if (($data['route'] == 'product/product' && $key == 'product_id') || (($data['route'] == 'product/manufacturer/product' || $data['route'] == 'product/product') && $key == 'manufacturer_id') || ($data['route'] == 'information/news' && $key == 'news_id') || ($data['route'] == 'information/information' && $key == 'information_id')) {
Что делать? Кто подскажет?
-
Помогите настроить ЧПУ для модуля новостей в Opencart 1.4.9
Использую модуль
deadcow SEO
Везде SEO url работаю, в модуле новостей нет.
Вот пример работающих ссылок http://glostore.com....%BC%D0%BA%D0%B8
Вот пример, где не работает http://glostore.com..../news&news_id=1
Вот файл catalog/controller/common/seo_url.php
<?php class ControllerCommonSeoUrl extends Controller { public function index() { if (isset($this->request->get['_route_'])) { $parts = explode('/', $this->request->get['_route_']); foreach ($parts as $part) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE keyword = '" . $this->db->escape($part) . "'"); if ($query->num_rows) { $url = explode('=', $query->row['query']); if ($url[0] == 'product_id') { $this->request->get['product_id'] = $url[1]; } if ($url[0] == 'category_id') { if (!isset($this->request->get['path'])) { $this->request->get['path'] = $url[1]; } else { $this->request->get['path'] .= '_' . $url[1]; } } if ($url[0] == 'manufacturer_id') { $this->request->get['manufacturer_id'] = $url[1]; } if ($url[0] == 'information_id') { $this->request->get['information_id'] = $url[1]; } } else { $this->request->get['route'] = 'error/not_found'; } } if (isset($this->request->get['product_id'])) { $this->request->get['route'] = 'product/product'; } elseif (isset($this->request->get['path'])) { $this->request->get['route'] = 'product/category'; } elseif (isset($this->request->get['manufacturer_id'])) { $this->request->get['route'] = 'product/manufacturer'; } elseif (isset($this->request->get['information_id'])) { $this->request->get['route'] = 'information/information'; } if (isset($this->request->get['route'])) { return $this->forward($this->request->get['route']); } } } } ?>
Вот файл admin/controller/module/deadcow_seo.php<?php class ControllerModuleDeadcowSEO extends Controller { private $error = array(); public function install() { // enable the module and set default settings $this->load->model('setting/setting'); $this->model_setting_setting->editSetting('deadcow_seo', array('deadcow_seo_status' => 1, 'deadcow_seo_categories_template' => '[category_name]', 'deadcow_seo_products_template' => '[product_name]-[model_name]', 'deadcow_seo_manufacturers_template' => '[manufacturer_name]', 'deadcow_seo_meta_template' => '[product_name], [model_name], [manufacturer_name], [categories_names]', 'deadcow_seo_yahoo_id' => '', 'deadcow_seo_yahoo_checkbox' => 0 )); } public function index() { $this->load->language('module/deadcow_seo'); $this->document->title = $this->language->get('heading_title'); $this->load->model('setting/setting'); $this->load->model('module/deadcow_seo'); if (($this->request->server['REQUEST_METHOD'] == 'POST') && ($this->validate())) { if (isset($this->request->post['categories'])) { $this->model_module_deadcow_seo->generateCategories($this->request->post['categories_template']); } if (isset($this->request->post['products'])) { $this->model_module_deadcow_seo->generateProducts($this->request->post['products_template']); } if (isset($this->request->post['manufacturers'])) { $this->model_module_deadcow_seo->generateManufacturers($this->request->post['manufacturers_template']); } if (isset($this->request->post['meta_keywords'])) { if (!isset($this->request->post['yahoo_checkbox'])) { $this->model_module_deadcow_seo->generateMetaKeywords($this->request->post['meta_template']); } else if (trim($this->request->post['yahoo_id']) != '') { $this->model_module_deadcow_seo->generateMetaKeywords($this->request->post['meta_template'], trim($this->request->post['yahoo_id'])); } else { $this->error['warning'] = $this->language->get('enter_yahoo_id'); } } $this->model_setting_setting->editSetting('deadcow_seo', array('deadcow_seo_categories_template' => $this->request->post['categories_template'], 'deadcow_seo_products_template' => $this->request->post['products_template'], 'deadcow_seo_manufacturers_template' => $this->request->post['manufacturers_template'], 'deadcow_seo_meta_template' => $this->request->post['meta_template'], 'deadcow_seo_yahoo_id' => $this->request->post['yahoo_id'], 'deadcow_seo_yahoo_checkbox' => isset($this->request->post['yahoo_checkbox']) ? 1 : 0 )); if (isset($this->error['warning'])) { $this->data['error_warning'] = $this->error['warning']; } else { $this->data['success'] = $this->language->get('text_success'); } } $this->data['warning_clear'] = $this->language->get('warning_clear'); $this->data['back'] = $this->language->get('back'); $this->data['categories'] = $this->language->get('categories'); $this->data['products'] = $this->language->get('products'); $this->data['manufacturers'] = $this->language->get('manufacturers'); $this->data['meta_keywords'] = $this->language->get('meta_keywords'); $this->data['generate'] = $this->language->get('generate'); $this->data['append_model'] = $this->language->get('append_model'); $this->data['template'] = $this->language->get('template'); $this->data['available_category_tags'] = $this->language->get('available_category_tags'); $this->data['available_product_tags'] = $this->language->get('available_product_tags'); $this->data['available_manufacturer_tags'] = $this->language->get('available_manufacturer_tags'); $this->data['available_meta_tags'] = $this->language->get('available_meta_tags'); $this->data['your_yahoo_id'] = $this->language->get('your_yahoo_id'); $this->data['get_yahoo_id'] = $this->language->get('get_yahoo_id'); $this->data['add_from_yahoo'] = $this->language->get('add_from_yahoo'); $this->data['curl_not_enabled'] = $this->language->get('curl_not_enabled'); if (isset($this->request->post['categories_template'])) { $this->data['categories_template'] = $this->request->post['categories_template']; } else { $this->data['categories_template'] = $this->config->get('deadcow_seo_categories_template'); } if (isset($this->request->post['products_template'])) { $this->data['products_template'] = $this->request->post['products_template']; } else { $this->data['products_template'] = $this->config->get('deadcow_seo_products_template'); } if (isset($this->request->post['manufacturers_template'])) { $this->data['manufacturers_template'] = $this->request->post['manufacturers_template']; } else { $this->data['manufacturers_template'] = $this->config->get('deadcow_seo_manufacturers_template'); } if (isset($this->request->post['meta_template'])) { $this->data['meta_template'] = $this->request->post['meta_template']; } else { $this->data['meta_template'] = $this->config->get('deadcow_seo_meta_template'); } if (isset($this->request->post['yahoo_id'])) { $this->data['yahoo_id'] = $this->request->post['yahoo_id']; } else { $this->data['yahoo_id'] = $this->config->get('deadcow_seo_yahoo_id'); } $this->data['yahoo_checkbox'] = isset($this->request->post['yahoo_checkbox']) ? 1 : 0; $this->document->breadcrumbs = array(); $this->document->breadcrumbs[] = array('href' => HTTPS_SERVER . 'index.php?route=common/home&token=' . $this->session->data['token'], 'text' => $this->language->get('text_home'), 'separator' => FALSE); $this->document->breadcrumbs[] = array('href' => HTTPS_SERVER . 'index.php?route=extension/module&token=' . $this->session->data['token'], 'text' => $this->language->get('text_module'), 'separator' => ' :: '); $this->document->breadcrumbs[] = array('href' => HTTPS_SERVER . 'index.php?route=module/deadcow_seo&token=' . $this->session->data['token'], 'text' => $this->language->get('heading_title'), 'separator' => ' :: '); $this->data['action'] = HTTPS_SERVER . 'index.php?route=module/deadcow_seo&token=' . $this->session->data['token']; $this->data['cancel'] = HTTPS_SERVER . 'index.php?route=extension/module&token=' . $this->session->data['token']; $this->data['heading_title'] = $this->language->get('heading_title'); $this->template = 'module/deadcow_seo.tpl'; $this->children = array('common/header', 'common/footer'); $this->response->setOutput($this->render(TRUE), $this->config->get('config_compression')); } private function validate() { if (!$this->user->hasPermission('modify', 'module/deadcow_seo')) { $this->error['warning'] = $this->language->get('error_permission'); } if (!$this->error) { return true; } else { return false; } } }
Я так думаю, надо что-то прописать в последнем файле.Что-то добавить типа
news_id
if ($url[0] == 'news_id') {
$this->request->get['news_id'] = $url[1];
}
И ещё что-то. Буду рад за помощь. Решение нашел только для opencart 1.5 http://opencartforum...-opencart-v151/
Думаю, код можно оттуда, но как вставить сюда не знаю.
-
Вообще есть мысли усовершенствовать модуль.
Предлагаю скинутся.
Как Вы думаете, такой модуль будет интересен публике?
Сейчас модуль выводит категории второй вложенности и третьей (можно первой и второй).
В админке можно выбрать первый уровень категории, т.е. при выборе категории первого уровня, будут выводится на сайт 2-й и 3-й уровень категорий в виде блоков, как сейчас у меня на сайте: http://technolife.net.ua
Минусы в том, что в админке можно выбрать только одну категорию.
Задача.
Переделать выбор категорий в админке на чекбоксы, чтобы можно было выбирать несколько разных и разной вложенности.
Я предлагаю сделать в виде блоков.
По умолчанию будет один. Я отмечаю чекбоксом, что будет в первом блоке.
Потом, к примеру, мне нужен второй блок, нажимаю добавить второй блок, появляются снова все категории и подкатегории, выбираю, отображается второй блок и так далее до бесконечности.
В самом блоке кроме выбора категорий хочу сделать пустую строчку и чекбокс внизу, где можно будет прописать текст ссылки и второе поле, где можно будет вставить урл ссылки, даже если это будет внешняя ссылка.
Ещё плюс такого модуля в том, что блоки заполняются слева направо по очереди. То есть если в админке я добавлю 7 модулей, к примеру, 5 выстроятся в первый ряд, остальные 2 слева во вторую строку.
Кое-что нарисовал, прилагаю.
Что скажет народ?
Сейчас
После - изображение 1
После- изображение 2
После - изображение 3
-
Спасибо. Помогло.
-
Чё, никто не знает что-ли?
-
Спасибо. Тема интересная, но я вопрос уже решил по другому. К стилям шаблона добавил новый див, в который уже вошли все остальные: контент, left, right. Пришлось также поправить все файлы папки template, то есть в моем случае я добавил $contentwrapper во все файлы между $header и $content. Всё работает, получилось. Теперь у меня есть целый блок в длину шаблона между header и content. Если я добавляю колонку слева или справа, она появляется только под этим $contentwrapper
-
Может данные сохраняются где-то в каком-то массиве и там зависли? Кто хорошо знаком с opencart?
-
В opencart соображаю хорошо. Тему ту редактирую. Я даже на всякий случай к примеру тот же header.tpl в default теме переименовал в !_header.tplскорее всего вы редактируете не ту тему оформления...
проверьте и перепроверьте...
Интересно ещё то, что если файл header.tpl или другой файл, home.tpl переименовать, то выдает ошибку, файл не найден. А когда в этом файле вносишь изменения, ничего не происходит.
-
Странно. Удалил. Папка пуста. Не помогло. А какие ещё могут быть причины? Вот сам сайт: http://glostore.com.ua/
-
Пытаюсь доработать модуль вывода категорий на главной странице.
С первым решением помогли. Теперь выводятся не только категории, но и подкатегории. Проблема в том, что в некоторых категориях больше 20 подкатегорий, и естественно вид сего этого не очень.
Поэтому хочу ограничить вывод подкатегорий к примеру до 10.
Думаю, надо использовать array_slice а куда его и как вместить хрен его знает. Знания на этом заканчиваются.
Буду рад за помощь.
Пример вывода категорий и подкатегорий сейчас:
Вот сам файл
<?php class ControllerModulecategoryhome4 extends Controller { protected $category_id = 0; protected $path = array(); protected function index() { $this->language->load('module/categoryhome4'); $this->data['heading_title'] = $this->language->get('heading_title'); $this->load->model('catalog/category'); $this->load->model('tool/image'); if (isset($this->request->get['path'])) { $this->path = explode('_', $this->request->get['path']); $this->category_id = end($this->path); } $url = ''; $this->data['categoryhome4'] = $this->getCategories($this->config->get('categoryhome4_category')); $this->id = 'categoryhome4'; if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/categoryhome4.tpl')) { $this->template = $this->config->get('config_template') . '/template/module/categoryhome4.tpl'; } else { $this->template = 'default/template/module/categoryhome4.tpl'; } $this->render(); } //dymm protected function getCategories($parent_id, $current_path = '',$stop = false) { $categoryhome4 = array(); $category_id = array_shift($this->path); $results = $this->model_catalog_category->getCategories($parent_id); $i=0; foreach ($results as $result) { if (!$current_path) { $new_path = $result['category_id']; } else { $new_path = $current_path . '_' . $result['category_id']; } if ($this->category_id == $result['category_id']) { $categoryhome4[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } else { $categoryhome4[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } if ($result['image']) { $image = $result['image']; } else { $image = 'no_image.jpg'; } $categoryhome4[$i]['thumb'] = $this->model_tool_image->resize($image, 110, 110); $categoryhome4[$i]['name'] = $result['name']; //dymm ------------------> if(!$stop) $categoryhome4[$i]['subcats'] = $this->getCategories($result['category_id'],$new_path,true); //dymm <------------------ $i++; } return $categoryhome4; } } ?>
Продавать пин-коды: ищу модуль или исполнителя
в Поиск модулей
Опубліковано:
Всем привет! Добрался я до русскоязычных просторов. Модуль продажи серийных ключей доделан для 1.5.6. Выложил здесь Модуль продажи серийных ключей и пин-кодов
Демо выставил здесь: demo.appslabstudio.com