-
Публікації
162 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Повідомлення, опубліковані користувачем Mysha
-
-
Искал человека на срочную работу, сотни просмотров задачи, 1 вялая ухмылка Тома в ПМе и более ничего. Поначалу было несколько человек на старте, но потом, когда обнаружился iframe и js, люди отвалились. Отозвался только @php. Поначалу и его смутил этот момент, но через 15 минут решение было найдено, и он сделал все четко и в срок. За 30 часов по сути. Так как основным критерием была скорость, то я остался очень доволен.
Смело могу рекомедовать этого исполнителя!
-
Исполнитель найден, тему можно считать закрытой.
-
Спасибо, но, увы, нужно решение out of box. Разбираться самому и потом искать пути импорта, у меня нет времени. В другой раз бы попытался, но сейчас все горело по срокам.
-
После половины дня танцев с бубном.
-
Для начала, у вас все должно быть настроено верно, а именно, как показано на картинке ниже:
- Вы отправляете почту из формы обратной связи, и получаете PHP Fatal error: Uncaught Exception: Error: Password not accepted from server!
-
Помимо того, что это может быть банальный неверный пароль, куда более вероятно, что вы ни разу не заходили в бизнесовый почтовый ящик Яндекс и не приняли соглашение пользователя. Недостаточно быть админом и зайти в него, нужно еще и зайти под пользователем, которого вы создали как админ. Это очень важно, но неочевидно! Убил в этой точке 2 часа
- Далее, не путайте пароли. Вам нужно указывать не пароль админа 360, а пароль пользователя сервиса 360. Либо, если вы не хотите его светить в магазине, зайдите в эккаунт Коннект/360 и разрешение использование паролей приложений (App Password). Далее, создайте такой первый пароль для сервиса Почта. Система Яндекс сгенерит его вам автоматически. И использовать этот пароль во вкладке Mail этот пароль для SMTP как обычный пароль для SMTP, но при этом, ваш основной пароль от SMTP никто не узнает.
- Дальше вы получите другую ошибку: PHP Fatal error: Uncaught Exception: Error: MAIL FROM not accepted from server! Это значит, что тему с паролем и авторизацией вы проехали, сервер вас узнал, но ему не нравится несовпадение ящика отправителя с ящиком, который был сообщен SMTP-серверу при обмене командами. Для решения этой проблемы правите файл /catalog/controller/information/contact.php:
/* $mail->setFrom($this->request->post['email']); */ $mail->setFrom($this->config->get('config_email'));
Все, радуетесь жизни.Да, подобных постов тут было много, но инфо по п.п. 2 было найти очень тяжело. И по OC3 информации мало, а contact.php немного изменился (не в одной конкретно этой строке, а вообще).
Эта инструкция для тех, кто хочет все и за 1 минутуFAQ:
- Почему Яндекс.Коннект? Потому, что свой домен. А G-Suite стал стоить 6 долларов в месяц. Деньги невеликие, но для некоммерческого проекта хотел сделать принципиально бесплатно.
- Почему не PHP Mail и не свой почтовый сервер, такой как EXIM? Потому, что в DigitalOcean закрыт outbound TCP port 25, и открыть его по запросам в ТП невозможно. Почтовые релеи не могут обмениваться почтой, а точнее, ваш почтовый сервер ничего не может отправить наружу.
-
2
-
Для начала, у вас все должно быть настроено верно, а именно, как показано на картинке ниже:
-
Нужна такая услуга или модуль под последний OC3. А именно, засосать товары из 6-8 категорий eBay по ~120-150 штук из каждой и положить в мой ОС.
Можно делать как угодно. Ваш модуль, ваши скрипты, обмен через CSV/XLS, ваш парсер и потом SQL и так далее. Как угодно, вы ничем не ограничены. Важен только конечный результат.
Важно! Вариации по товарам (size, color) не нужны. То есть, засасываем только основной (один) товар per item.
Хотел сделать сам, но не судьба:
- Купил модуль Import product from eBay, но не работает и автор не отвечает.
- Проект parsemx закрыт.
На решение вопроса есть только 2-3 дня.
Кому-то интересно?
-
Нужен такой модуль или услуга под последний OC3.
А именно, засосать товары из 6-8 категорий eBay по 150 штук из каждой и положить в мой ОС.
Купил модуль Import product from eBay, но не работает и автор не отвечает.
Проект parsemx закрыт.
На решение вопроса есть только 2-3 дня.
Кому-то интересно?
-
Вопрос решил установкой владельца на файлы OC3 как admin:admin.
chown -R admin:admin /path/to/your/oc3/wwwroot/
Логично, что скрипты apache:apache не могли двигать файлы и директории admin:admin.
-
Имею свежую установку OC 3. Магазин в целом жив на 99%, фронт и адмика работают. Но некоторые функции в админке падают с ошибками. Например, падает с ошибками ошибка кэша SASS, установке расширения (совместимого и разработанного коммьюнити OC).
Искал по форуму, гуглил. Перешерстил Stackoverflow, Habr и пр. ресурсы. Но именно такой ситуации как у себя не нашел.
В логах полным-полна коробочка:
Spoiler2021-11-14 7:42:55 - PHP Warning: unlink(/home/admin/web/dom.tld/public_html/admin/view/stylesheet/bootstrap.css): Permission denied in /home/admin/web/dom.tld/public_html/admin/controller/common/developer.php on line 94
2021-11-14 7:43:13 - PHP Warning: mkdir(): Permission denied in /home/admin/web/dom.tld/public_html/admin/controller/marketplace/install.php on line 212
2021-11-14 7:43:13 - PHP Warning: mkdir(): Permission denied in /home/admin/web/dom.tld/public_html/admin/controller/marketplace/install.php on line 212
2021-11-14 7:43:13 - PHP Warning: rename(/storage/upload/tmp-B4TmfPjEza/upload/admin/controller/extension/getSingleProduct/ebay.php,/home/admin/web/dom.tld/public_html/admin/controller/extension/getSingleProduct/ebay.php): No such file or directory in /home/admin/web/dom.tld/public_html/admin/controller/marketplace/install.php on line 218Я примерно нашел проблему по косвернным признакам. Например, папка tmp-B4TmfPjEza и файлы в ней имеют владельца admin:admin.
То есть, проблема где-то с настройками на уровне администрирования.
Данные о системе:
VPS (CentOS 7x64 + VestaCP, если что).
SELinux и тяжелое наследие с context выключено.
PHP 7.4
Включен open_basedir. Но по нему сделаны настройки и они эффективны:
/home/admin/web/dom.tld/public_html:/home/admin/tmp:/home/admin/web/dom.tld/:/storage/
Apache работает из под юзера Apache:
ps -ef | egrep '(httpd|apache2|apache)' | grep -v `whoami` | grep -v root | head -n1 | awk '{print $1}'
Папкой storage владеет apache:apache, и находится в /. Права на нее пока были выданы максимальные:
sudo chmod -R 777 /storage/
Владелец на веб-папку OC3 (/home/admin/tmp:/home/admin/web/dom.tld/) выставлен apache:apache рекурсивно. Права на файлы OC3 выствавлены -R как 0644, а на папки - R 0755. Файлы config.php (оба) вучную выставлены на 0755.
В обох конфигах сторадж определен как:
define('DIR_STORAGE', '/storage/');
Прощу помощи в направлении движения. И в частности, почему файлы extension влетают с владельцем admin:admin.
-
Ребята,
У меня теперь все как бы работает, но валюту RUB надо пинать вручную, иначе не обновляется даже в течение 2 дней. Хотя в настройках OC стоит галка "автоматическое обновление". Внимание, этот код вам as is не подойдет, так так у меня специфически настройки валют:public function refresh($force = false) { $currency_data = array(); if ($force) { // $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "currency WHERE code != '" . $this->db->escape($this->config->get('config_currency')) . "'"); $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "currency WHERE 1 "); } else { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "currency WHERE code != '" . $this->db->escape($this->config->get('config_currency')) . "' AND date_modified < '" . $this->db->escape(date('Y-m-d H:i:s', strtotime('-1 day'))) . "'"); } foreach ($query->rows as $result) { if ($result['code'] == 'RUB') { $response = file_get_contents('https://www.alphavantage.co/query?function=CURRENCY_EXCHANGE_RATE&from_currency=USD&to_currency=RUB&apikey=YOURKEYHERE'); $json = json_decode($response); if (@is_null($json->{"Error Message"})) { $value = (float) $json->{"Realtime Currency Exchange Rate"}->{"5. Exchange Rate"}; $this->db->query("UPDATE " . DB_PREFIX . "currency SET value = '" . $value . "', date_modified = '" . $this->db->escape(date('Y-m-d H:i:s')) . "' WHERE code = '" . $this->db->escape($result['code']) . "'"); } } } $this->db->query("UPDATE " . DB_PREFIX . "currency SET value = '1.00000', date_modified = NOW() WHERE code = 'USD'"); $this->cache->delete('currency'); }
API работает верно и все отдает как лапочка (с верным кодом клиента). Дело не в нем, а в механизме (логике) запуска автооапдейта курса. Не подскажете в чем может быть дело?
-
Вопрос решен, человек chhukcha помог разобраться (уже не в первый раз). Рекомендую его в качестве саппортера сайтов на OC.
-
Пытаюсь скрестить свой старый код, когда учет цен ведется в USD, а отображение идет в RUR. Поменял функцию, выставил старые значения, модифицировал URL по образу и подобию старого Yahoo. URL работает отлично, но где-то у меня не хватает ума, и есть ошибка. Не поможете?
public function refresh($force = false) { $currency_data = array(); if ($force) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "currency WHERE code != '" . $this->db->escape($this->config->get('config_currency')) . "'"); } else { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "currency WHERE code != '" . $this->db->escape($this->config->get('config_currency')) . "' AND date_modified < '" . $this->db->escape(date('Y-m-d H:i:s', strtotime('-1 day'))) . "'"); } foreach ($query->rows as $result) { $response = file_get_contents('https://www.alphavantage.co/query?function=CURRENCY_EXCHANGE_RATE&from_currency=USD&to_currency=RUB&apikey=P6WGY9G9LB22GMBJ'); $json = json_decode($response); if (@is_null($json->{"Error Message"})) { $value = (float) $json->{"Realtime Currency Exchange Rate"}->{"5. Exchange Rate"}; $this->db->query("UPDATE " . DB_PREFIX . "currency SET value = '1.00000'" . $this->db->escape(date('Y-m-d H:i:s')) . "' WHERE code = 'USD'"); } } $this->db->query("UPDATE " . DB_PREFIX . "currency SET value = '" . $value . "', date_modified = '" . $this->db->escape(date('Y-m-d H:i:s')) . "' WHERE code = 'RUB'"); $this->cache->delete('currency'); } public function getTotalCurrencies() { $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "currency"); return $query->row['total']; } }
PHP дает вот такой выход:
Notice: Undefined variable: value in /home/public_html/admin/model/localisation/currency.php on line 128 Warning: Cannot modify header information - headers already sent by (output started at /home/public_html/admin/controller/startup/error.php:34) in /home/public_html/system/library/response.php on line 12
Прошу помощи!
-
Спасибо.
Как вручную пинать загрузчик курсов валют? Он меня был модифицировать под двухвалютный учет. О некорретной работе узнаю только завтра. Как пнуть его? -
Yahoo отключили этот сервис. Уроды.
It has come to our attention that this service is being used in violation of the Yahoo Terms of Service. As such, the service is being discontinued. For all future markets and equities data research, please refer to finance.yahoo.com.
-
Как-то, наверное, не совсем корректно. Если он не покупал, можно отказать корректно. А публичная бычка - реально вас не красит.
-
Он уже ответил, что это так маркетплейс переделали. Офигеть вообще.
-
Да, так канает. Автор то куда смотрит?
-
Не помогает.
-
Херня какая-то с этим файлом: OCMOD v1.4.1 OC2.3.0.0-2.3.0.2
https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=22188
Неправильный тип файла!
-
Спасибо. Вполне, вполне. Первый смотрел, а точнее, там семейство из 4 модулей. Что-то не понравилось. По вашей ссылке - вроде ок!
-
Бесплатных таких нет. Вообще, из 2 страниц модулей на 2302, мне бы подошел только один - цена вопроса $35
http://octestimonial.magikthemes.com/index.php?route=magiktestimonial/magiktestimonial
Крутовато, не готов пока.
-
Какая клиника? Если привязка идет к 4-8 товарам при 2200 SKU? Плюс, как я сказал, кликабильность там странноватая, не всегда с первого раза получается - где-то какой-то JS козлит. Посчитайте сколько кликать - десятки тысяч же...
И я не просил дорабатывать. Если можете сказать что и где поправить, отлично. А нет, так нет.
-
Нужен готовый, по деньгам - сегодня вечером пульну, сумасшедшие дни.
-
Какие есть еще варианты, кроме 2 указанных выше?
-
Уважаемый автор!
Как сделать так, чтобы по дефолту привязка делалась "бирюзовая >>>" ? Чтобы не нужно было кликать, у меня тут клики какие-то нестабильные, приходится по 2 раза прокликивать. Да и вообще двухсторонняя нужна редко.
Парсер ( SimplePars ) Ищу человека который спарсит грамотно сайт
в Налаштування та дрібна робота по вже існуючому сайту
Опубліковано: · Змінено користувачем Mysha
Работал с человеком @php , и могу сказать, что парсинг - это его тема. Он знает что и куда, как взять и как положить в ОК без сторонних платных плагинов. За 1,5 дня мне запарсили и всунули в магизин все, что я хотел.