Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

ZeroHero

Users
  
  • Posts

    158
  • Joined

  • Last visited

Everything posted by ZeroHero

  1. Какая-то проблема с JS. Смотрите в консоли в браузере, что пишет.
  2. Смотрите в логах vqmod, нет ли там ошибок, успешно ли прошла установка модуля.
  3. Ответ прост: написать несколько тысяч уникальный описаний или нанять того, кто сделает это за вас. Или вас смущает не количество? Почему вы считаете, что описание товаров должно получиться на 60-80% одинаковым? Если вы, допустим, продаёте одинаковую обувь, которая отличается только размером, то для таких товаров в магазине не нужно делать отдельную позицию для каждого размера, используйте опции.
  4. Вариант №1: Идёте в шаблон карточки товара, добавляете кнопку в нужное место. Пишете небольшой скрипт на JS, которым перехватываете событие клика по кнопке и рисуете модальное окно с формой. Делаете контроллер, который будет обрабатывать данные, получаемые из формы, и отправлять вам письмо на почту. Если хотите сохранять заявки в БД, то делаете ещё таблицу в БД с соответствующей структурой и модель. Делаете шаблон для страницы с формой заявки, на которую будет осуществляться переход при клике по кнопке "вызвать оценщика", если событие не удастся перехватить скриптом (например, если в браузере отключен JS или ещё по каким-то неведомым причинам). Если вы хотите видеть заявки в админке, то делаете почти всё то же самое, но только для административной части. Вариант №2: Ищите какой-то модуль для заказа обратного звонка (например этот или этот, или ещё какой-то), немного переделываете (меняете текст, стили и т.д.) и пользуетесь.
  5. CREATE TEMPORARY TABLE `copy_temp_table` ( `product_id` INT UNSIGNED, `image` varchar(255) ) DEFAULT CHARSET utf8 COLLATE utf8_general_ci; INSERT INTO `copy_temp_table` (`product_id`, `image`) SELECT `a`.`product_id`, `b`.`image` FROM `oc_product_to_category` AS `a` INNER JOIN `oc_category` AS `b` ON `a`.`category_id` = `b`.`category_id` WHERE `a`.`main_category` = 1 GROUP BY `a`.`product_id`; INSERT INTO `oc_product` (`product_id`, `image`) SELECT `product_id`, `image` FROM `copy_temp_table` ON DUPLICATE KEY UPDATE `image` = VALUES(`image`);
  6. Да не, нормальный там код (тем более он документирован в отличии от того же OpenCart), просто нужно посидеть с ним, чтобы уловить концепцию. Так же у IPS есть неплохая документация для разработчиков на оф. сайте.
  7. Это связанно с тем, что у вас другая версия. Только что скачал OpenCart версии 1.5.6, там нету метода filter в контроллере ControllerCatalogProduct. Значит, предложенное мною решение вам не подходит.
  8. Вы смотрите код в методе getList, а нужно в методе filter. Ищите точное вхождение if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $data = array( 'filter_name' => $filter_name, 'filter_category_id' => $filter_category_id, 'filter_manufacturer_id' => $filter_manufacturer_id, 'filter_model' => $filter_model, 'filter_price' => $filter_price, 'filter_quantity' => $filter_quantity, 'filter_status' => $filter_status, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $this->config->get('config_admin_limit'), 'limit' => $this->config->get('config_admin_limit') );
  9. Вы что, через переводчик его прогнали? Выложите оригинальное содержимое файлов config.php, используйте BB-коды "код" и "спойлер".
  10. На самом деле, возвращение к странице списка, на которой находится товар, при сохранении или отмене редактирования, предусмотрено по-умолчанию, просто там, видать, баг (по крайней мере в версии 1.5.5.1.2). Его можно самостоятельно исправить в файле admin/controller/catalog/product.php. Нужно найти фрагмент текста if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $data = array( 'filter_name' => $filter_name, 'filter_category_id' => $filter_category_id, 'filter_manufacturer_id' => $filter_manufacturer_id, 'filter_model' => $filter_model, 'filter_price' => $filter_price, 'filter_quantity' => $filter_quantity, 'filter_status' => $filter_status, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $this->config->get('config_admin_limit'), 'limit' => $this->config->get('config_admin_limit') ); и после if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } добавить if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } чтобы получилось так if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } $data = array( 'filter_name' => $filter_name, 'filter_category_id' => $filter_category_id, 'filter_manufacturer_id' => $filter_manufacturer_id, 'filter_model' => $filter_model, 'filter_price' => $filter_price, 'filter_quantity' => $filter_quantity, 'filter_status' => $filter_status, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $this->config->get('config_admin_limit'), 'limit' => $this->config->get('config_admin_limit') ); Данное решение подходит для версии ocStore 1.5.5.1.2, для других не проверялось.
  11. Как-то у вас всё очень сложно. $result = $this->db->query("SELECT COUNT(*) AS `count` FROM `" . DB_PREFIX . "product` WHERE `status` = 1"); $this->data['products_total_count'] = $result->row['count'];
  12. Добавить в метод index контроллера (catalog/controller/information/contact.php) код $this->load->model('catalog/information'); $this->data['information'] = $this->model_catalog_information->getInformation(71); и выводить в шаблоне, где вам нужно.
  13. Нельзя. Этого не позволяет синтаксис языка. Если функция возвращает массив, то нужно сначала присвоить его переменной, а только потом обращаться к элементам этого массива.
  14. Метод query возвращает объект, а вы его в строку пытаетесь засунуть. Это ничего не даст, если в классе не определён волшебный метод __toString, а он там не определён. Можно сделать так, если вы уверенны, что в результате запроса вернётся хотя бы одна строка. $this->data['text_logged'] = sprintf($this->language->get('text_logged'), $this->url->link('account/account', '', 'SSL'), $this->customer->getFirstName(),$this->db->query("SELECT balance FROM vor_customer WHERE customer_id = '".$this->customer->getId()."'")->row['balance'], $this->url->link('account/logout', '', 'SSL'));
  15. Если в таблице записи для украинского языка уже существуют, то сделайте так: INSERT INTO `oc_product_description` (`product_id`, `language_id`, `name`, `description`, `meta_description`, `meta_keyword`, `seo_title`, `seo_h1`, `tag`) SELECT `product_id`, id_украинского_языка, `name`, `description`, `meta_description`, `meta_keyword`, `seo_title`, `seo_h1`, `tag` FROM `oc_product_description` WHERE `language_id` = id_русского_языка ON DUPLICATE KEY UPDATE `name` = VALUES(`name`), `description` = VALUES(`description`), `meta_description` = VALUES(`meta_description`), `meta_keyword` = VALUES(`meta_keyword`), `seo_title` = VALUES(`seo_title`), `seo_h1` = VALUES(`seo_h1`), `tag` = VALUES(`tag`)
  16. Таким запросом можно сделать INSERT IGNORE INTO `oc_product_description` (`product_id`, `language_id`, `name`, `description`, `meta_description`, `meta_keyword`, `seo_title`, `seo_h1`, `tag`) SELECT `product_id`, id_украинского_языка, `name`, `description`, `meta_description`, `meta_keyword`, `seo_title`, `seo_h1`, `tag` FROM `oc_product_description` только вместо oc_ нужно поставить свой префикс, который у вас задан в настройках, а вместо id_украинского_языка - id украинского языка, который можно посмотреть в таблице oc_language.
  17. Поставьте расширение Firebug для Firefox, запустите его, перейдите на вкладку "Сеть", нажмите кнопку "Не очищать" и попробуйте зайти в админку. У вас там, скорее всего, идёт редирект на несуществующий URL. Посмотрите, куда именно вас редиректит. Может быть, что в файле admin/config.php у вас неправильно прописан URL для админки.
  18. Если нужно просто вывести одним списком, то я бы сделал как-то так. Задумку с колонками не понял вашу. $this->load->model('catalog/manufacturer'); $manufacturers = $this->model_catalog_manufacturer->getManufacturers(); $this->data['manufacturers'] = array(); foreach ($manufacturers as $manufacturer) { $this->data['manufacturers'][] = array( 'name' => $manufacturer['name'], 'image' => $manufacturer['image'], 'image_src' => $server . 'image/' . $manufacturer['image'], 'href' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $manufacturer['manufacturer_id']) ); } А это в шаблон: <?php if(!empty($manufacturers)) : ?> <ul> <?php foreach($manufacturers as $manufacturer) : ?> <li> <a href="<?php echo htmlspecialchars($manufacturer['href']); ?>"> <img src="<?php echo htmlspecialchars($manufacturer['image_src']); ?>" alt="<?php echo htmlspecialchars($manufacturer['name']); ?>" title="<?php echo htmlspecialchars($manufacturer['name']); ?>" /> </a> </li> <?php endforeach; ?> </ul> <?php endif; ?>
  19. Тормозила любит кэшировать редиректы, почистите кэш и будет вам счастье.
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.