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

niger

Users
  
  • Posts

    1,072
  • Joined

  • Last visited

Everything posted by niger

  1. Спасибо, значит будем приобретать. Я так понял там нужно только будет патчик поставить из архива??
  2. <?php if (isset($order_id) && $order_id) { ?> <!-- Google Analytics - Ecommerce Tracking (Universal Analytics) --> <script type="text/javascript"> gtag('event', 'purchase', { "transaction_id": "<?php echo $order_id; ?>", "affiliation": "<?php echo $order_info['store_name']; ?>", "value": <?php echo $order_info['total']; ?>, "currency": "<?php echo $order_info['currency_code']; ?>", "tax": "<?php echo $tax; ?>", "shipping": "<?php echo $shipping; ?>", "items": [ <?php foreach ($order_products as $row) { ?> { "id": "<?php echo $row['model']; ?>", "name": "<?php echo $row['name']; ?>", "quantity": <?php echo $row['quantity']; ?>, "price": '<?php echo $row['price']; ?>' }, <?php } ?> ] }); </script> <!-- End Google Analytics - Ecommerce Tracking (Universal Analytics) --> <!-- Event snippet for Покупка товара conversion page --> <script> gtag('event', 'conversion', { 'send_to': 'Ваше из гугладвордса', 'value': <?php echo $order_info['total']; ?>, 'currency': '<?php echo $order_info['currency_code']; ?>', 'transaction_id': '<?php echo $order_id; ?>' }); </script> Верхнее для view файла success.tpl ниже для контроллера success.php if (isset($this->session->data['order_id'])) { $this->load->model('account/order'); $this->data['order_id'] = $this->session->data['order_id']; $this->data['order_info'] = $this->model_account_order->getOrder($this->session->data['order_id']); $this->data['order_totals'] = $this->model_account_order->getOrderTotals($this->session->data['order_id']); $this->data['order_products'] = $this->model_account_order->getOrderProducts($this->session->data['order_id']); $shipping = 0; foreach ($this->data['order_totals'] as $row) { if ($row['code'] == 'shipping') { $shipping = $row['value']; } } $this->data['shipping'] = $shipping; $tax = 0; foreach ($this->data['order_products'] as $row) { $tax = $tax + $row['tax']; } $this->data['tax'] = $tax; $this->cart->clear(); unset($this->session->data['shipping_method']); unset($this->session->data['shipping_methods']); unset($this->session->data['payment_method']); unset($this->session->data['payment_methods']); unset($this->session->data['guest']); unset($this->session->data['comment']); unset($this->session->data['order_id']); unset($this->session->data['coupon']); unset($this->session->data['reward']); unset($this->session->data['voucher']); unset($this->session->data['vouchers']); }
  3. У меня раньше в гараже был опенкарт 1.5 сайт - и я там это делал. Как в вашей версии, и что у вас там я не знаю. Ниже логика - без кода. Вы сохраняете заказ - если сохранение успешное - перед функцией редиректа на страницу "спасибо" в сессию записываете номер заказа. Потом в контроллере страницы "Спасибо" - проверяете есть ли в сессии номер заказа, если он есть записываете его в переменную, дальше запрос к модели "получить все данные по заказу" закидываете их в переменную для вывода и очищаете из сессии номер заказа(чтобы каждый раз клиент не видел спасибо ваш заказ такой-то оформлен) - и отправляете это во вьюху страницы "Спасибо" и там уже переменную разбираете и засовываете в скрипт от гугла все необходимые ему данные в нужном для него формате.
  4. Нужно передавать номер заказа в сессии. Потом на странице успешного заказа, если в сессии есть номер заказа - получать данные по заказу и отправлять их гугл скриптом.
  5. LEFT JOIN Что-то вроде такого по идее $query = $this->db->query("SELECT l.location_id, l.geocode, l.telephone, l.fax, l.image, l.open, ld.name, ld.address, ld.comment FROM " . DB_PREFIX . "location l LEFT JOIN " . DB_PREFIX . "location_description ld ON (l.location_id = ld.location_id) WHERE l.location_id = '" . (int)$location_id . "' AND ld.language_id = '" . (int)$this->config->get('config_language_id') . "'");
  6. @kashirova я вот глянул на страницу шаблона - и у них прямо на картинке нарисовано большими буквами - ТРЕХУРОВНЕВОЕ МЕНЮ, то есть всего три уровня вложенности. Что тут нужно понять? Если у тебя больше трех уровней вложенности - то их решение тебе не подходит. Или нужно будет самому ручками лезть в код и пилить) И написано мегаменю в ШАПКЕ сайта - про боковое они ничего не говорят. Я не их клиент, сижу на древнем 1.5 без шаблонов - все ручками. Но у них все расписано подробно, к чему ругаться на то, что у них явно указано в документации?
  7. Взять вот это RewriteCond %{HTTP_HOST} ^www.embroides\.com$ [NC] RewriteRule ^(.*)$ http://embroides.com/$1 [R=301,L] RewriteEngine On RewriteCond %{HTTPS} !on RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] Из вашего файла и вставить после RewriteBase /
  8. Поставил wayforpay, комиссия меньше у него и есть у него удачные и неудачные варианты. в Ликпай с этим так подружиться и не удалось.
  9. У меня есть cron, который обновляется остатки товаров - как добавить туда очистку кеша товаров и категорий? или может там можно выборочно удалить кеш именно этих товаров и кеш категорий почистить? Функцию или метод может какой-то для этого есть? Или нет?
  10. https://developers.google.com/analytics/devguides/collection/gtagjs/enhanced-ecommerce?hl=ru Вот тут все, что нужно для отправки. вам только формировать и отправлять
  11. Ну вот у вас на странице категории во вьхе (category.tpl) или как там у вас она называется, есть foreach который берет и выводит каждый товар по-отдельности из массива или из объекта) Здесь у вас в скобочках все тоже самое) <script>dataLayer.push({ "ecommerce": { "currencyCode": "USD", // Код валюты в формате ISO 4217 "impressions": [ <?php foreach ($products as $product) { ?> { "id": "<?php echo $product['id']; ?>", //ID Товара в базе данных - Обязательно "name": "<?php echo $product['name']; ?>", // Название товара - Обязательно "price": "<?php echo $product['price']; ?>", // Цена товара "brand": "<?php echo $product['manufacturer']; ?>", // Бренд товара, если такой есть "category": "T-Shirts", // Категория товара "position": 0, // Позиция товара в блоке на сайте. Нумерация идет слева на право и снизу вверх. "list": "homepage" // Блок на сайте, где был отображен товар }, <?php }?> ], } }); </script> Тут просто показана логика. А дальше сами додумайте.
  12. И все это дело заскринить, а потом на скринах показать, что и куда добавил, и описать зачем. Ваша мысль интересна - приступайте
  13. На ваших же примерах прям написано в каком файле, что и КУДА вставлять. Детальнее уже не разжевать
  14. Таг менеждер вешаете в хэдере, ивенты вешаете во вьюхах В разных вьюхах ставите разный код. На товарах - ивент просмотра товара, на кнопку добавить в корзину ивент добавления в корзину, на странице успешного заказа, если передался номер заказа - ивент покупки.
  15. Лев Голицын Брют - вкусный - но дороговато )
  16. А что сложного? Сумма всех оценок делится на количество оценок - 3.7 Внизу пишется количество отзывов - 16 5 - количество отзывов с оценкой 5 деленное на количество всех отзывов и умноженное на 100, значок процента дорисуете сами Ну и так для 4, 3, 2, 1
  17. У меня тоже 1.5 в распоряжении - вам нужно обновить драйвер для БД на mysqli заходите в config.php и смотрите строчку с вот этим define('DB_DRIVER', 'тут будет назваение вашего драйвера'); Допустим там будет "mysql" - скорее всего именно топаете в /system/database/ там находите файл с тем названием. то есть путь будет /system/database/mysql.php Открываете этот файл Копируете все и на всякий случай делаете бэкап И все меняете на вот это <?php final class MySQL {private $link; public function __construct($hostname, $username, $password, $database) { $this->link = new mysqli($hostname, $username, $password, $database); if (mysqli_connect_error()) { throw new ErrorException('Error: Could not make a database link (' . mysqli_connect_errno() . ') ' . mysqli_connect_error()); } $this->link->set_charset("utf8"); $this->link->query("SET SQL_MODE = ''"); } public function query($sql) { $query = $this->link->query($sql); if (!$this->link->errno){ if (isset($query->num_rows)) { $data = array(); while ($row = $query->fetch_assoc()) { $data[] = $row; } $result = new stdClass(); $result->num_rows = $query->num_rows; $result->row = isset($data[0]) ? $data[0] : array(); $result->rows = $data; unset($data); $query->close(); return $result; } else{ return true; } } else { throw new ErrorException('Error: ' . $this->link->error . '<br />Error No: ' . $this->link->errno . '<br />' . $sql); exit(); } } public function escape($value) { return $this->link->real_escape_string($value); } public function countAffected() { return $this->link->affected_rows; } public function getLastId() { return $this->link->insert_id; } public function __destruct() { $this->link->close(); } } ?>
  18. Вообще СЕОшник может взять сколько угодно, за что угодно и за что именно сложно угадать.
  19. Работал в такой нише - создавали сайт для картин по фото, фотообоям, фотороллетам - правда на голом PHP+ MySQL, без CMS и фреймворков лет так 6-7 назад. Ниша очень хорошая и есть чем там заниматься - если умеете в СММ и СЕО, и контекст. Загружать просто фото и на почту - это очень неудобно - много работы дизайнерам, подготовить макет клиенту. Когда клиент загружает и сразу в редакторе выбирает размер, где обрезать и как подвинуть фото на холсте (какую часть оставить на печать). какую рамочку выбрать и ему сразу и цена просчитывается - тогда это удобно и скорость обработки заказа вырастает и меньше возможно ошибок. А то, что вы описали - неудобно. Привязываться к стандартными размерам - тоже идея так себе, лучше делать нестандарт и стандарт - просто стандартные размеры дешевле, из-за того, что вы можете подготовить рамки и подрамники уже под этот размер. А по сути темы, вам достаточно визитки с загрузкой фото и формулами для просчета цены.
  20. А если два языка? Украинские города и отделения будут подтягиваться, а если перейти на РУ, на русском будут тянуться?
  21. клевый дизайн. соседи из Днепра) Кеширования на хостинге недостаточно в силу выгрузки товаров в категориях в цикле, по каждому идет запрос в базу - нужно кешировать сами запросы, и чтобы их не выводило каждому пользователю из базы - а брало из кеша. Ваше кеширование на хостинге очень похоже на хостинг Украина, у самого там имеется сайтец в обслуживании на опенкарте, там можно кеширование настроить в мемкеш, запросы отправлять в мемкеш и само кеширование файлов туда отправить, а силы хостинга отключить - мне они не помогали особо. Ну и обязательно сделать lazy-loading для изображений. Всего этого вам хватит, чтобы ускорить уже неплохо сайт, а для попугаев там необходимо соединять стили и скрипты разных модулей и прочего в наименьшее количество файлов! Ну и стоит вам задуматься о локализации под украинский рынок - модуль @markimax seolang и jetcache вам могут очень в этом помочь и с кешированием если сами не знаете как, и с укр версией и картой сайта и ссылками правильными Это советы - чтобы вы знали куда копать
  22. Вот вы знаете, что вам товары нужны только из категорий, которые в этом файле имеют id 5 и 10, остальные 8 категорий вам не нужны Делаете массивчик допустимых категорий, парсите файлик xml, в цикле проходитесь - если товар принадлежит категории 5 или 10, все из него записываем в базку, если нет - идем дальше!
×
×
  • 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.