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

ZeroHero

Користувачі
  
  • Публікації

    158
  • З нами

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

Усі публікації користувача 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. Тормозила любит кэшировать редиректы, почистите кэш и будет вам счастье.
×
×
  • Створити...

Important Information

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