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

Firestarter778

Новачок
  
  • Публікації

    38
  • З нами

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

Усі публікації користувача Firestarter778

  1. Скачать/Купить дополнение SMS, Whatsapp оповещение клиентов и администратора SMS, Whatsapp - уведомления модуль позволяет осуществлять рассылку смс сообщений при различных условиях через смс шлюз для Opencart (ocStore) 3.x, 2.х поддержка модуля временно не осуществляется, если при использовании модуля у вас не отправляются смс, ознакомьтесь с информацией из комментария Функционал: Смс администратору при заказе Смс покупателю при заказе Смс покупателю при смене статуса заказа Шаблоны смс для админа и клиента Возможность установить смс только для определенных статусов заказа Друзья не забывайте про отзывы! Таким образом вы мотивируете на дальнейшее развитие модуля! Спасибо! Модуль позволяет оповещать клиентов о новых заказах, и при изменении статуса заказа! Вы можете выбрать режим оповещения, SMS - оповещение клиентов производится посредством выбранного смс сервиса. Whatsapp - оповещение клиентов производится посредством сервиса Chat-Api (абонентская плата 900р в месяц). Whatsapp + SMS - оповещение клиентов посредством whatsapp, в случае отсутствия клиента в whatsapp клиенту отправляется смс. Модуль позволяет выбрать для оповещения посредством SMS уже существующие сервисы SMS рассылок. Также модуль добавляет способы(шлюзы) рассылок, whatsapp, SMSru, SMSint, SMSc, Alphasms, SMS Aero. Внимание! Для шлюзов Alphasms, SMS Aero, intisSMS является обязательным указание имени отправителя! При использовании сервиса интеграции с whatsapp, модуль позволяет вести двухстороннюю переписку с клиентом. Поскольку API не предоставляет информацию о том есть ли клиент в whatsapp, для отправки смс отсутствующим клиентам при выборе способа whatsapp+sms необходимо добавить в планировщик задание. Также в ЛК Chat-Api у вас должен быть установлен адрес webhook. Модуль игнорирует галочку (уведомить покупателя) из формы редактирования заказа в админке, оповещение производится лишь по выбранным статусам в настройках модуля (буду благодарен критике данного решения). Оповещение администратора настраивается стандартными средствами Опенкарт. (система => настройки => SMS) Пока цена нулевая, с вас отзывы и критика, также буду благодарен предложениям касательно того какой функционал стоит добавить. Модуль распространяется as-is. Приятного использования. Если вашему сайту требуется простая регистрация с использованием номера телефона, воспользуйтесь модулем Добавил Pavel666 Добавлено 24.02.2019 Категория Письма, почта, рассылки, sms Системные требования Сайт разработчика Метод активации Без активации Ioncube Loader Нет OpenCart 3.0 2.3 2.1 ocStore 3.0 2.3 2.1 OpenCart.Pro, ocShop Не проверялось Обращение к серверу разработчика Нет Старая цена 0  
  2. ))), переносил бекапом, модуль подгружает товары от поставщика, у плагина есть опция "удалить все" товары, категории перед загрузкой новых, и я это сделал, вот теперь думаю что в модуле косяк
  3. Саму интересно, сравнивал с таблицей старого сайта, пропали записи от всех страниц, кроме товаров и категорий, странно... Есть мысль что это плагин импорта yml сделал, там есть опция "удалить все" перед загрузкой нового прайса, с запросами misql я ещё мало знаком, но вроде сносить должен только записи касающиеся только прайса, чуть позже буду товары перезаливать, проверю, а если дело не в плагине, то вобще странно..
  4. Да, этой записи не было, добавил, ссылка на главную стала www.site.ru @SiteMix Спасибо за помощь!
  5. Спасибо за дополнение, модуль работает Версия ocStore 2.3.0.2.3, но файл скачивается без расширения, не download.xls, а просто download, подскажите пожалуйста, что исправить?
  6. И то правда, удалил с перепугу, востановил его из бекапа, файл пустой, наверное страховка от хацкеров Да, работают, сайт.ру/категория/товар только главная страница в виде GET запроса и у двух категорий ссылки ведут на главную
  7. Ещё странность! Ссылки на категории ведут на главную страницу, не все, только две из 24, может это все из одной проблемы
  8. system/storage/cache удалил все файлы Тут тоже https нужно. переписал на https А вот тут надо добавить редиректы чтобы сайт открывался только в одно варианте с https и с www. Редирект работает c site,ru > www.site.ru и c http на https Только главная страница все равно https://www.site.ru/index.php?route=common/home Может где то ещё что то почистить нужно, может в БД..
  9. Подскажите пожалуйста, сайт заполняется автоматом из yml поставщика, наличие товаров все время меняется, и получается Очень много пустых категорий и подкатегорий, есть ли способ автоматом отключать пустые категории и родительские категории в которых дочерние категории пустые?
  10. Наверняка решение известно но Google, но вопрос не решил: ocStore 2.3.0.2.3 Скопировал сайт на другой домен, с https и с www, после этого в браузере https://www.site.ru/index.php?route=common/home при этом на старом сайте главная страница нормальная, http://site.ru, на форумах что нашел советуют править system/library/url.php только старый сайт то нормально url показывает .htaccess Options +FollowSymlinks Options -Indexes # Prevent Direct Access to files <FilesMatch "(?i)((\.tpl|\.ini|\.log|(?<!robots)\.txt))"> Require all denied ## For apache 2.2 and older, replace "Require all denied" with these two lines : # Order deny,allow # Deny from all </FilesMatch> # SEO URL Settings #RewriteEngine On # If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/ RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA] RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L] RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L] RewriteRule ^system/download/(.*) index.php?route=error/not_found [L] RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css) RewriteCond %{SERVER_PORT} !^443$ RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L] config.php // HTTP define('HTTP_SERVER', 'http://www.site.ru/'); // HTTPS define('HTTPS_SERVER', 'https://www.site.ru/'); Подскажите что делать, пожалуйста
  11. Собственно тоже столкнулся с проблемой невозможности войти в админку, сайт переносил на другой хостинг и на другой домен, перевод на https, перевод с site.ru на www.site.ru Решать проблему пришлось комплексно: В админке включить "использовать ssl В файлах config.php, admin/config.php : <?php $host = $_SERVER['HTTP_HOST']; define('HTTP_SERVER', 'http://site.ru/admin/'); define('HTTP_CATALOG', 'http://site.ru/'); define('HTTPS_SERVER', 'http://site.ru/admin/'); define('HTTPS_CATALOG', 'http://site.ru/'); переписать на: <?php $host = $_SERVER['HTTP_HOST']; define('HTTP_SERVER', 'https://www.site.ru/admin/'); define('HTTP_CATALOG', 'https://www.site.ru/'); define('HTTPS_SERVER', 'https://www.site.ruadmin/'); define('HTTPS_CATALOG', 'https://www.site.ru/'); после этого произошло чудо и доступ в админку возобновился
  12. @spectre Спасибо!!! за направление на путь истинный!!! Работает!
  13. Извиняюсь// не там смотрел, есть только тут /system/library/cart/cart.php, и там есть $product_data[] = array( 'cart_id' => $cart['cart_id'], 'product_id' => $product_query->row['product_id'], 'name' => $product_query->row['name'], 'model' => $product_query->row['model'], 'shipping' => $product_query->row['shipping'], 'image' => $product_query->row['image'], 'option' => $option_data,..... если тут допишу 'sku' =>$product_query->row['sku'] будет работать?
  14. куда то не туда смотрю: public function getProducts($data = array()) { $sql = "SELECT p.product_id, (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 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"; if (!empty($data['filter_category_id'])) { if (!empty($data['filter_sub_category'])) { $sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)"; } else { $sql .= " FROM " . DB_PREFIX . "product_to_category p2c"; } if (!empty($data['filter_filter'])) { $sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)"; } else { $sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)"; } } else { $sql .= " FROM " . DB_PREFIX . "product p"; } $sql .= " 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 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 (!empty($data['filter_category_id'])) { if (!empty($data['filter_sub_category'])) { $sql .= " AND cp.path_id = '" . (int)$data['filter_category_id'] . "'"; } else { $sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "'"; } if (!empty($data['filter_filter'])) { $implode = array(); $filters = explode(',', $data['filter_filter']); foreach ($filters as $filter_id) { $implode[] = (int)$filter_id; } $sql .= " AND pf.filter_id IN (" . implode(',', $implode) . ")"; } } if (!empty($data['filter_name']) || !empty($data['filter_tag'])) { $sql .= " AND ("; if (!empty($data['filter_name'])) { $implode = array(); $words = explode(' ', trim(preg_replace('/\s+/', ' ', $data['filter_name']))); foreach ($words as $word) { $implode[] = "pd.name LIKE '%" . $this->db->escape($word) . "%'"; } if ($implode) { $sql .= " " . implode(" AND ", $implode) . ""; } if (!empty($data['filter_description'])) { $sql .= " OR pd.description LIKE '%" . $this->db->escape($data['filter_name']) . "%'"; } } if (!empty($data['filter_name']) && !empty($data['filter_tag'])) { $sql .= " OR "; } if (!empty($data['filter_tag'])) { $implode = array(); $words = explode(' ', trim(preg_replace('/\s+/', ' ', $data['filter_tag']))); foreach ($words as $word) { $implode[] = "pd.tag LIKE '%" . $this->db->escape($word) . "%'"; } if ($implode) { $sql .= " " . implode(" AND ", $implode) . ""; } } if (!empty($data['filter_name'])) { $sql .= " OR LCASE(p.model) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; $sql .= " OR LCASE(p.sku) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; $sql .= " OR LCASE(p.upc) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; $sql .= " OR LCASE(p.ean) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; $sql .= " OR LCASE(p.jan) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; $sql .= " OR LCASE(p.isbn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; $sql .= " OR LCASE(p.mpn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; } $sql .= ")"; } if (!empty($data['filter_manufacturer_id'])) { $sql .= " AND p.manufacturer_id = '" . (int)$data['filter_manufacturer_id'] . "'"; } $sql .= " GROUP BY p.product_id"; $sort_data = array( 'pd.name', 'p.model', 'p.quantity', 'p.price', 'rating', 'p.sort_order', 'p.date_added' ); if (isset($data['sort']) && in_array($data['sort'], $sort_data)) { if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') { $sql .= " ORDER BY LCASE(" . $data['sort'] . ")"; } elseif ($data['sort'] == 'p.price') { $sql .= " ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)"; } else { $sql .= " ORDER BY " . $data['sort']; } } else { $sql .= " ORDER BY p.sort_order"; } if (isset($data['order']) && ($data['order'] == 'DESC')) { $sql .= " DESC, LCASE(pd.name) DESC"; } else { $sql .= " ASC, LCASE(pd.name) ASC"; } if (isset($data['start']) || isset($data['limit'])) { if ($data['start'] < 0) { $data['start'] = 0; } if ($data['limit'] < 1) { $data['limit'] = 20; } $sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit']; } $product_data = array(); $query = $this->db->query($sql); foreach ($query->rows as $result) { $product_data[$result['product_id']] = $this->getProduct($result['product_id']); } return $product_data; }
  15. в system library cart приходит из model_catalog_product->getProducts а там.. не пойму, может из БД нужно получить, то ли там уже есть.. я правильно понимаю, тут: system library car foreach ($this->cart->getProducts() as $product) { есть все что есть в model_catalog_product->getProducts ?
  16. Нужно sku вывести, тут тишина, по этому в песочнице тему создал https://opencartforum.com/topic/125002-vyvesti-sku-v-modalnoe-okno/
  17. пробовал, не получается foreach ($this->cart->getProducts() as $product) { $data['products'][] = array( 'cart_id' => $product['cart_id'], 'thumb' => $image, 'name' => $product['name'], 'model' => $product['model'], 'option' => $option_data, 'recurring' => ($product['recurring'] ? $product['recurring']['name'] : ''), 'quantity' => $product['quantity'], 'price' => $price, //'sku' => $product['sku'], 'total' => $total, 'href' => $this->url->link('product/product', 'product_id=' . $product['product_id']) ); } 'sku' => $sku, тоже пробовал
  18. Установлен Модуль Всплывающая корзина - Cart Popup , пишу сюда по тому что в ветке модуля 4 года тишина. Нужно вывести sku в всплывающее окно, третий день бьюсь результат 0.. В tpl вывел, в контроллере от куда берется нашел: $data['products'][] = array( 'key' => $product['cart_id'], 'id' => $product['product_id'], 'thumb' => $image, 'name' => $product['name'], 'model' => $product['model'], 'option' => $option_data, 'recurring' => ($product['recurring'] ? $product['recurring']['name'] : ''), 'manufacturer' => $product['manufacturer'], 'quantity' => $product['quantity'], 'stock' => $this->config->get('config_stock_checkout'), 'minimum' => $product['minimum'], 'maximum' => $product['maximum'], 'sku' => 'sku123456', 'price' => $price, 'total' => $total, 'href' => $this->url->link('product/product', 'product_id=' . $product['product_id'], true) ); вот так вывод есть, а вот подцепить сюда реальное значение не получается //$sku = $this->model_catalog_product->getProduct($sku); //$product_info = $this->model_catalog_product->getProduct($product_id['sku']); //$sku = $this->model_catalog_product->getProducts($sku); если не ошибаюсь, данные берутся из cart.php "$products = array_reverse($this->cart->getProducts());" а туда приходят из модели product.php, из функции getProducts, помогите подцепить, чайник уже вовсю кипит %)
  19. @mrz Спасибо! Разобрался Только оставлю с id, вдруг пункты меню местами менять придется

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

Important Information

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