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

VladSiy

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

    66
  • З нами

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

Про VladSiy

  • День народження 03.07.87

Інформація

  • Стать
    Мужчина

Відвідувачі профілю

2 608 переглядів профілю

VladSiy's Achievements

Enthusiast

Enthusiast (6/14)

  • First Post
  • Collaborator
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

0

Репутація

  1. 0. ...? 1. catalog/controller/mail/register.php - здесь я получаю регистрационные данные пользователя. 2. из первого пункта данные передаются в catalog/view/theme/default/template/mail/register.twig. Здесь мне все поняно. Вопрос заключается в другом. Представьте, что есть "нулевой" пункт, как из пункта 0 данные попадают в пункт 1? что_то_должно_передать_три_аргумента_в->index($route, $args, $output);
  2. Забыл уточнить, что это OpenCart 3. Наверное вы не поняли мой вопрос, а может быть я не понял ваш ответ Я не могу понять, откуда передаются данные в catalog/controller/mail/register.php public function index(&$route, &$args, &$output) {... эта функция принимает 3 аргумента, вот где она их берет? Я хочу найти этот файл, который передает в эту функцию данные и расширить $args, что бы отправить их письмом зарегистрированному пользователю. Если вы правильно все поняли и ответили выше, то объясните, пожалуйста подробнее, потому что я не понял
  3. Когда я регистрируюсь мне на почту приходит письмо-уведомление с благодарностью. Отправляется оно отсюда .../catalog/controller/mail/register.php В этом файле есть функция: public function index(&$route, &$args, &$output) { Подскажите, пожалуйста, откуда идет обращение к этой функции? Я не могу никак проследить... Мне нужно в $args передать дополнительные данные. Спасибо заранее.
  4. Помогите, пожалуйста, выполнить вот такой запрос: OC3x SELECT product_id FROM . DB_PREFIX . mytable WHERE price > 0 Этот запрос мне нужно добавить в getProductSpecials по пути /model/catalog/product.php. Я подумал про 2 варианта: 1. Расширить существующий sql запрос, он был в одну строку, я попытался его разделить, чтобы было понятнее, но не смог решить свою задачу. И добавлял после product_special строчку . DB_PREFIX . "mytable mt LEFT JOIN " $sql = "SELECT DISTINCT ps.product_id, ( SELECT AVG(rating) FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = ps.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating FROM " . DB_PREFIX . "product_special ps LEFT JOIN " . DB_PREFIX . "product p ON (ps.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ps.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW()) ) GROUP BY ps.product_id"; 2. Сделать свой запрос ниже: $sql .= "SELECT product_id FROM ". DB_PREFIX . "mytable WHERE price > 0"; Естественно, в обоих случаях ошибки. Мне уже не первый раз приходится прибегать к запросу с LEFT JOIN, читал разные статьи, но, не разобрался. Кажется, в Open Cart чересчур сложный запрос. Хотелось бы понять, как оно работает, может быть кто-то сможет доступно объяснить?
  5. Всему виной моя не внимательность. Может кто-то наступит на такие же грабли, вот решение моей проблемы. Я неправильно упаковал архив. Мой архив выглядел так: test.ocmod.zip -test.ocmod --upload --install.xml перепаковал так: test.ocmod.zip -upload -install.xml И еще удалил пробелы в поиске в xml и все заработало: <search><![CDATA[{{ language }}]]></search>
  6. 1. Если я правильно понял ваше предложение проверить распаковывается ли архив, то да, распаковывается. Проверил с помощью ZipArchive::extractTo. 2. В User Groups у меня вообще нет чекбокса с modification/upload.
  7. Вот это сработало, спасибо. Теперь бы разобраться, как файлы загрузить через установщик.
  8. Перефразируйте, пожалуйста, я не понял, что нужно проверить и где
  9. ocmod.log 2020-03-24 14:05:40 - MOD: Modification Default FILE: system/engine/action.php REGEX: ~(require|include)(_once)?\(([^)]+)~ LINE: 69 FILE: system/engine/loader.php REGEX: ~(require|include)(_once)?\(([^)]+)~ LINE: 77 LINE: 151 LINE: 168 FILE: system/library/config.php REGEX: ~(require|include)(_once)?\(([^)]+)~ LINE: 59 FILE: system/library/language.php REGEX: ~(require|include)(_once)?\(([^)]+)~ LINE: 67 LINE: 73 FILE: system/library/template/template.php REGEX: ~(require|include)(_once)?\(([^)]+)~ LINE: 18 FILE: system/library/template/twig.php CODE: $loader = new \Twig_Loader_Filesystem(DIR_TEMPLATE); LINE: 19 ----------------------------------------------------------------
  10. Столкнулся с проблемой, не могу разобраться, что я делаю не так. OpenCart 3.0.3.2. Я немного расширил функционал магазина. Всю работу я сделал в оригинальных файлах и все работает, как я и хотел. Захотелось познакомиться с ocmod и я подумал всю работу сделать с помощью модификатора. На данный момент я оставил все работающие файлы на своих местах и убрал только 1 файл по пути admin/controller/extension/module/test.php. Если вернуть его на место, то в Extensions->modules появится название моего, так сказать, модуля. Что я сделал: Создал zip архив test.ocmod В архиве находятся файл install.xml и папка upload. В папке upload/admin/controller/extension/module/ есть файл test.php тот, который я убрал. Для теста я хочу его вернуть на свое место с помощью "Installer". В файле install.xml вот что: <?xml version="1.0" encoding="UTF-8"?> <modification> <name>Test</name> <code>test</code> <version>1.0</version> <link>test.test</link> <author>Test</author> <file path="catalog/view/theme/default/template/common/header.twig"> <operation> <search><![CDATA[ {{ language }} ]]></search> <add position="after"><![CDATA[ {{ test }} ]]></add> </operation> </file> </modification> Установка проходит отлично. в Install History появляется запись. В модификаторе и в Developer Settings обновляю все, что есть. И вот сама проблема: В Modification List - ничего нет. В Extensions->modules - ничего нет. По пути system/storage/modification кроме системных папок и файла index.html - тоже ничего нет. Я подумал, что это связано с тем, что я не перенес папку storage за пределы каталога сайта. Только что вынес эту папку, загрузил архив снова, но кроме системных папок и файлов ничего в папке modification нет. Уже не знаю, что пробовать. Читал, что бывает проблема с неправильно настроенным FTP, на 2-ке видел эту вкладку, а на 3-ке не вижу. Подскажите, пожалуйста, что я делаю не правильно, или в чем может быть проблема?
  11. Нужна помощь, не могу разобраться в sql запросе. в /catalog/model/catalog/product.php есть функция: public function getProduct($product_id) { $query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special,(SELECT points FROM " . DB_PREFIX . "product_reward pr WHERE pr.product_id = p.product_id AND pr.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "') AS reward, (SELECT ss.name FROM " . DB_PREFIX . "stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "') AS stock_status, (SELECT wcd.unit FROM " . DB_PREFIX . "weight_class_description wcd WHERE p.weight_class_id = wcd.weight_class_id AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS weight_class, (SELECT lcd.unit FROM " . DB_PREFIX . "length_class_description lcd WHERE p.length_class_id = lcd.length_class_id AND lcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS length_class, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT COUNT(*) AS total FROM " . DB_PREFIX . "review r2 WHERE r2.product_id = p.product_id AND r2.status = '1' GROUP BY r2.product_id) AS reviews, p.sort_order FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = '" . (int)$product_id . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'"); if ($query->num_rows) { return array( 'product_id' => $query->row['product_id'], 'name' => $query->row['name'], 'description' => $query->row['description'], 'meta_title' => $query->row['meta_title'], 'meta_description' => $query->row['meta_description'], 'meta_keyword' => $query->row['meta_keyword'], 'tag' => $query->row['tag'], 'model' => $query->row['model'], 'sku' => $query->row['sku'], 'upc' => $query->row['upc'], 'ean' => $query->row['ean'], 'jan' => $query->row['jan'], 'isbn' => $query->row['isbn'], 'mpn' => $query->row['mpn'], 'location' => $query->row['location'], 'quantity' => $query->row['quantity'], 'stock_status' => $query->row['stock_status'], 'image' => $query->row['image'], 'manufacturer_id' => $query->row['manufacturer_id'], 'manufacturer' => $query->row['manufacturer'], 'price' => ($query->row['discount'] ? $query->row['discount'] : $query->row['price']), 'special' => $query->row['special'], 'reward' => $query->row['reward'], 'points' => $query->row['points'], 'tax_class_id' => $query->row['tax_class_id'], 'date_available' => $query->row['date_available'], 'weight' => $query->row['weight'], 'weight_class_id' => $query->row['weight_class_id'], 'length' => $query->row['length'], 'width' => $query->row['width'], 'height' => $query->row['height'], 'length_class_id' => $query->row['length_class_id'], 'subtract' => $query->row['subtract'], 'rating' => round($query->row['rating']), 'reviews' => $query->row['reviews'] ? $query->row['reviews'] : 0, 'minimum' => $query->row['minimum'], 'sort_order' => $query->row['sort_order'], 'status' => $query->row['status'], 'date_added' => $query->row['date_added'], 'date_modified' => $query->row['date_modified'], 'viewed' => $query->row['viewed'] ); } else { return false; } } В ней есть sql запрос, в котором я не могу разобраться. На примере акционного товара, подскажите, пожалуйста, как изменить этот запрос так, чтобы он вывел не 1 цену, как сейчас, а все цены, которые установлены во вкладке Акция, например 5 записей. В итоге хотел бы по определенному условию показывать нужную мне цену. Изменение/удаление LIMIT приводит к ошибке.
  12. Спасибо за советы. Решил свою проблемой так: Создал почтовый ящик на хостинге [email protected] и настроил отправку почты в админке CMS через SMTP, используя в качестве сервера почты сервер моего хостинга hosting_name.ru, порт 25, логин и пароль от почты [email protected] с хостинга.
  13. Здравствуйте. OpenCart 2.3.0.2.3 Не так давно возникла проблема, с доставкой писем на ukr.net, вообще не доходят. Временно решили эту проблему так: 1. создал почту на хостинге [email protected], 2. в админке магазина, в поле Email установил почту [email protected], 3. на хостинге с [email protected] перенаправлял на [email protected]. Может быть недельку поработало и ситуация повторилась, перестали приходить письма. Потом решили эту проблему добавлением ТХТ-запись с SPF. Снова хватило на пару недель. Вчера перестало работать. Скорее всего проблема в том, что ukr.net проверяет отправителя и он не соответствует домену сайта. В файлах сайта, уже не помню точный путь, где именно я это делал, в строке отправителя я прописывал: $mail->setSender('[email protected]'); кажется я заменял везде, где встречается эта строка, Но в почтовике я вижу: Отправитель: user@hosting_name.ru Письма приходят от системного адреса. Подскажите, пожалуйста, где и каким образом я могу изменить имя отправителя, чтобы письмо отправлялось не с системного адреса, а с моего домена, на котором расположен магазин. Возможно, причина и не в этом, может быть кто-то уже сталкивался с такой проблемой, поделитесь ее решением. PS На Gmail письма приходят без проблем, не теряются. Но штат не хочет менять рабочую почту. Убедить не могу.
  14. Спасибо. "Модуль работает на основе базы данных Sypex Geo...", я использовал ту же базу, в моем случае не сработало. Все же, наверное попробую модуль, может сработает.
  15. Не могу решить одну задачу. OpenCart 2.3.0.2.3 Занимаюсь сайтом сети кафетериев. Торговые точки есть в определенных городах, городов около 10-ка и постоянно добавляются новые. Соответственно сайт привязан к географии. Все было хорошо, пока цены и акции применялись ко всем городам. Но теперь есть задача показывать акционный товар только в 3-ке городов. Я пытался это реализовать с помощью SxGeo. В принципе он работает, но не так точно, как мне нужно. Т.е. 2 города, для которых мне нужно показать акцию - Фастов и Обухов, SxGeo определяет их, как "Киев". Нашел в интернете список блоков ip адресов для этих городов, и по условию менял статус акционного товара на отключенный, а для тех, кто не подходит под условие - активировал. Когда проверял на своем IP адресе - все работало, попросил проверить жителей нужных городов - не работает. В общем этот способ мне не подошел. Решил попробовать другой способ, добавить в админку новое поле с дополнительной ценой, и выставлять цену для акционного города, и потом уже дальше в шаблоне решать, показывать товар или нет. Все, что я мог бы сделать - это статично добавить поля, а они могут меняться очень быстро для разных городов. Оставил я эту затею. В итоге решил спросить вас, может быть подскажите, какой-то способ, который даст мне возможность определить точный город и как-то в админке оформить товар для определенных городов. Может быть есть какой-то недорогой модуль, или приспособить какую-то из существующих в коробке возможностей? Поделитесь, пожалуйста, идеями. Спасибо.

×
×
  • Створити...

Important Information

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