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

Evgenka

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

    150
  • З нами

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

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

  1. Судя по IP он на самом деле принадлежит Яндексу. А вот откуда он нашел эту ссылку - это действительно вопрос
  2. Читал, что рекомендации из robots.txt не всегда воспринимаются роботами, в частности google. Наверное так и сделаю, добавлю Disallow в роботс и дополнительно в контроллере проверю по user_agent
  3. Всем доброго дня. Столкнулся на днях с такой ситуацией: Магазин на ocStore 3.0.2.0, имеем подключенный модуль для online оплаты заказа. По логике модуля, после ввода всех необходимы данных покупателя и подтверждения заказа происходит редирект на success страничку, где сообщается, что счет для оплаты успешно создан и клиент может его оплатить. При этом, само собой, создается заказ и добавляется статус по умолчанию для нового заказа в историю заказа. Суть проблемы в том, что на днях обратили внимание, по уже выполненным заказам (завершенным), не понятно почему, стали добавляться в историю статусы как у вновь созданного заказа. Стали смотреть логи за этот период времени и увидели следующее: Собственно ЯндексБот дергает ссылку модуля оплаты и даже подставляет номер заказа. Модуль думает, что это клиент переходит по ссылке и, соответственно, перенаправляет на страницу успешно созданного заказа, а т.к. этоn заказ уже есть, то просто добавляет в его историю статус вновь созданного заказа. Собственно вопрос: как избежать этого в дальнейшем? Как запретить ВСЕМ ботам посещение ресурса /index.php?route=extension/payment/ Добавил в robots.txt строку Disallow: /*route=extension/payment , но не совсем понимаю, поможет ли это. Буду благодарен за ваши рекомендации.
  4. SELECT * FROM `oc_order` AS o LEFT JOIN `oc_order_status` AS os ON (os.order_status_id = o.order_status_id AND os.language_id = '1') WHERE o.order_status_id > '0' AND DATE(o.date_added) >= '2021-08-18' AND DATE(o.date_added) <= '2021-08-18' AND o.order_id IN (SELECT op.order_id FROM oc_order_product op LEFT JOIN oc_product p ON op.product_id = p.product_id WHERE p.skald_id = '4') ORDER BY DATE(date_added) Сделал вот так, вроде бы получилось то, что задумывалось, но на сколько это правильно...
  5. В стандартной таблице oc_product добавлено поле sklad_id. Пытаюсь создать запрос, который отобразит все заказы в которых есть товар со skald_id, допустим, 4. В недоумение вводит вложенность запроса, т.к. select делаю из таблицы order и далее уже фильтрую. Сложность в том, что необходимо вывести все order_id где встречаются товары со skald_id = 4, а для этого необходимо обратиться сразу к order_product, что бы узнать все товары в заказе, после чего к product и отфильтровать эти товары по skald_id = 4. Собственно в данный момент неоконченный запрос выглядит так: SELECT * FROM `oc_order` AS o LEFT JOIN `oc_order_status` AS os ON (os.order_status_id = o.order_status_id AND os.language_id = '1') WHERE o.order_status_id = '5' AND DATE(o.date_added) >= '2021-08-18' AND DATE(o.date_added) <= '2021-08-18' AND o.order_id IN (как правильно выбрать все order_id) ORDER BY DATE(date_added) Буду благодарен за любую помощь по составлению запроса.
  6. И так, свершилось чудо и пришел ответ от службы поддержки. Как и ожидалось: есть проблема, она на стороне яндекса, когда решат - не известно)))
  7. И так, прошло уже больше 4х месяцев, как я обратился в саппорт Яндекса и по сегодняшний день проблема с их стороны так и не устранена. Последнее сообщение от саппорта было 11 марта с таким содержанием Впринципе ничего удивительного, отношения Яндекса было всегда таким))) Просто вот не пойму, зачем выводить сырой продукт, о багах которого люди неустанно пишут, и ничего при этом не делать для устранения этих самых багов
  8. Почему нельзя? Указываете путь К xml откуда обновлять и onliner сам два раза в сутки будет обновляться из файла.
  9. Да, конечно, все это сделано. Самое интересное, есть у нас еще один магазин на 1.5 версии. Сделали там аналогичный модуль, настроили и о чудо - все заработало. При этом по логам видно, что на указанный в настройках API URL приход запрос от Яндекса. А вот в магазине на 3 версии не приходят. Вывод один - косяк на стороне Яндекса. Поддержка молчит уже 2 дня, последнее что написали: Попробую еще хостеру написать, может он чего подскажет.
  10. Спасибо за информацию, значит, вероятнее всего, косяк с нашей стороны. Будем искать.
  11. Всем доброго дня. Достаточно давно уже передаем YML фид в Яндекс для формирования Турбо-страниц. И вот с недавнего времени с этих самых турбо-страниц стали прилетать заказы, оформленные через корзину на турбо-страницах. К нам уведомление о новом заказе приходит тупо на почту, что не совсем удобно, т.к. не у всех менеджеров есть доступ к почте да и в потоке вечного спама очень легко потерять это письмо о новом заказе. Ввиду этого решили настроить API взаимодействие с Турбо-страницами (до недавнего времени яндекс передавал заказы только в битрикс, теперь же API открыто для всех). Благо много нового Яндекс не изобретал, а использовали методы с API Яндекс Маркета. Собственно сама справка от яндекса https://yandex.ru/dev/turbo-shop/doc/settings/shop-api.html Суть проблемы: со своей стороны мы все настроили, интеграцию проверили тестовыми POST запросами (и /oreder/accept и /order/status), которые также указаны в справке яндекса. Все вроде красиво выходит. НО! В боевом режиме, ничего не работает. Заходим сами на турбо-страницу нашего магазина, размещаем тестовый заказ и ничего. Подумали, что что-то криво у нас, написали коротенький скрипт, что бы логировать все входящие POST, и на всякий GET, запросы. И увидели мы то, что со стороны яндекса в принципе не приходит никаких запросов. Собственно теперь вопрос: есть те, кто настраивал у себя API взаимодействие по передаче заказов с Турбо-страниц Яндекса к себе в магазин? P.S.: Платону Щукину написали в поддержку, но скорость их ответов просто поражает и пока-что по существу ничего.
  12. К сожалению, такой запрос так же не дал результата. Появляется ошибка: Ответ MySQL: Документация #1142 - Команда SELECT запрещена пользователю для таблицы 'oc_order_product' Модели создания заказов уже поправил, sku заказанных товаров добавляются (как и при создании из админки, так и при создании покупателем). Сейчас стоит только вопрос по присвоению всем товарам из предыдущих заказов sku
  13. Добрый день. Прошу помощи правильно сформировать запрос к БД. В таблицу oc_order_product добавил столбец SKU В таблице oc_product у каждого товара есть свой SKU Необходимо заполнить значения SKU у товаров в таблице oc_order_product В части запросов к БД совсем не силен, пытался сделать так UPDATE `oc_order_product` SET `sku` = (SELECT c.`sku` FROM `oc_product` c WHERE c.`product_id` = `oc_order_product`.`product_id`) и вот так UPDATE `oc_order_product` SET `oc_order_product`.`sku`=`oc_product`.`sku` WHERE `oc_order_product`.`product_id`=`oc_product`.`product_id` но, к сожалению, необходимого результата не получил. Как правильно сформировать запрос, кто подскажет?
  14. Ocstore 1.5.5.1 Спарсил цены на товар у конкурентов и хочу их вывести в списке товаров product_list.tpl Создал новый столбец и вывел в нем необходимые мне данные вот так <?php if(!empty($product['product_prices_cena_concurs'])){ for ($i = 0; $i < count($product['product_prices_cena_concurs']); $i++){ echo" <span style=\"border-bottom: 1px solid #ccc;display: block;\">"; echo" <span style='float:left;'>"; echo $product['product_prices_cena_concurs'][$i]['storename'] ; echo" </span>"; if($product['product_prices_cena_concurs'][$i]['cena'] > 0) { if($product['product_prices_cena_concurs'][$i]['cena'] >= $prices_parser){ echo '<b>'.$product['product_prices_cena_concurs'][$i]['cena'] . "</b><br/>"; } else { echo" <b><span style='color:#C50908;font-weight: bold;'>"; echo $product['product_prices_cena_concurs'][$i]['cena'] . "<br/><br/>"; echo" </b><</span>"; } } else { echo" ---". "<br/>"; } echo" </span>"; } } else { echo "Нет данных"; } ?> Но собственно при пагинациии и переходе на следующую страницу все пропадает, т.к. тут уже используется ajax, если я правильно понял. Как вышеуказанный код правильно отобразить в <script id="productTemplate" type="text/x-jquery-tmpl"> что бы при пагинации страниц и использовании фильтров данные так же отображались? Буду благодарен за помощь.
  15. Пошел другим путем. Сравнил два массива и удалил все совпадения по attribute_id. Ну и далее перебирается уже массив, в котором только уникальные attribute_id
  16. Добрый день. Извиняюсь, если создал тему не в том разделе, но, к сожалению, для ocstore 1.5.5.1 нет уже раздела. Очень надеюсь на помощь, или совет. Проблема в следующем: установил дополнение, которое позволяет добавлять каждой категории шаблонный набор атрибутов и в последующем, в карточке товара загружать необходимый шаблон. Но у некоторых товаров уже присутствуют атрибуты и вот тут заключается сама проблема. По возможностям данного дополнения, оно все равно при выборе нужного шаблона атрибутов загружает их все, не смотря на то, что некоторые из данных атрибутов уже имеются у данного товара. Вот собственно и бьюсь за то, что бы сравнить уже имеющиеся у товара атрибуты и загрузить из шаблона только недостающие. Что сделал: при нажатии кнопки "Загрузить" передаю в функцию loadatts() product_id редактируемого товара. Далее в этой же функции получаем уже имеющиеся у товара атрибуты $this->load->model('catalog/product'); $product_attributes = $this->model_catalog_product->getProductAttributes($this->request->get['product_id']); Атрибуты шаблона, которые необходимо загрузить, получаются следующим образом: $query = $this->db->query("SELECT atts FROM " . DB_PREFIX . "category WHERE category_id = '" . (int)$this->request->get['catid'] . "'"); $atts = unserialize($query->row['atts']); И далее идет перебор массива атрибутов с добавлением их в карточке товара: $attribute_row = 0; foreach ($atts as $product_attribute) { echo '<tbody id="attribute-row' . $attribute_row. '" style="background:turquoise;"><tr> <td class="left"> <input type="text" name="product_attribute[' . $attribute_row. '][name]" value="' . $product_attribute['name']. '" /> <input type="hidden" name="product_attribute[' . $attribute_row. '][attribute_id]" value="' . $product_attribute['attribute_id']. '" /> </td> <td class="left"> <br />'; foreach ($languages as $language) { echo ' <textarea name="product_attribute[' . $attribute_row. '][product_attribute_description][' . $language['language_id']. '][text]" cols="40" rows="5">' ; if ( isset($product_attribute['product_attribute_description'][$language['language_id']]) ) echo $product_attribute['product_attribute_description'][$language['language_id']]['text']; else echo ''; echo '</textarea> <img src="view/image/flags/' . $language['image']. '" title="' . $language['name']. '" align="top" /><br /> '; } echo '</td> <td class="left"> <a onclick="$(\'#attribute-row' . $attribute_row. '\').remove()" class="button">' . $this->data['button_remove'] . '</a></td> </tr> </tbody>'; $attribute_row++; } Собственно что имеем: два массива атрибутов $atts (атрибуты из шаблона для данной категории товаров) и $product_attributes (атрибуты, которые уже присутствуют у данного товара). Никак не могу дописать условие, что бы в цикле при переборе атрибутов $atts сравнивалось значение attribute_id с уже имеющимся attribute_id у массива $product_attributes и соответственно при их совпадении атрибут не добавлялся, не создавая дубль. Буду благодарен за любой совет. Спасибо.
  17. Добрый вечер. Выявился следующий баг: в закрепленном меню, при прокрутке страницы вниз, если в настройках включено отображение поиска и выпадающего списка контактов, невозможно воспользоваться ни тем ни другим, т.к. их видимая часть выходит за пределы экрана. На скрине видно.
  18. Всем спасибо, решение найдено.
  19. Привожу часть контроллера оформления заказа: Я дилетант в этом совсем, поэтому заранее извиняюсь, за возможно написанные глупости. Исходя из данного кода, мне не совсем понятно как формируется $total и как сформировать допустим $total_profit в котором нужно исключить доставку. На сколько я понимаю, сразу собирается массив дополнений с типом 'total' и сортируются по порядку. Далее обрабатываются все модели по собранным 'code' и на выходе (вот тут мне не совсем понятно как) получается тот самый $total. Вот как собрать $total_profit по тем же условиям за исключением 'code' - shipping?
  20. Это я понимаю, но вот с реализацией немного хромает ...
  21. Доброго дня всем. Opencart 1.5.5.1 Пытаюсь реализовать возможность расчета прибыли с каждого заказа и в последующем формирование отчетов по этим данным. Что уже сделано: у каждого товара есть закупочная цена; внесены правки в system/library/cart для расчета оптовой стоимости каждого товара и заказа в целом при оформлении заказа; при оформлении заказа в таблицу order_product аналогично стоимости товара так же вносится и закупочная стоимость (order_product.price_opt и order_product.total_opt); рассчитывается общая закупочная стоимость всего заказа и вносится в таблицу order.total_opt Столкнулся с проблемой правильного внесения в БД профита с этого заказа. А проблема следующая: можно отнять закупочную стоимость всего заказа от sub_total заказа, но это будет не совсем верно, т.к. в заказе могут быть использованы купоны либо бонусные баллы. Отнимать закупочную стоимость заказа от total заказа так же будет не правильно, т.к. в total учитывается и платная доставка, с которой я не зарабатываю. И вот тут у меня произошел ступор, как правильно написать расчет прибыли, т.е. учесть промежуточную стоимость заказа (sub_total), учесть купон (если он применялся) и учесть бонусные баллы (если применялись), отнять от них закупочную стоимость и все это внести в таблицу order.profit Буду признателен за любую помощь, спасибо.
×
×
  • Створити...

Important Information

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