<link>https://opencart-forum.ru/blogs/259-emociyam-nuzhen-vyhod-osobenno-na-udalyonnoy-rabote/</link><description><![CDATA[<p> Я люблю программировать - распутывать логические хитросплетения, оформлять в вигде программного кода. <abbr title="Бесплатная платформа для электронной коммерции с открытым исходным кодом"><abbr title="Бесплатная платформа для электронной коммерции с открытым исходным кодом">OpenCart</abbr></abbr> давно сил для меня своеобразным хобби. Можно браться за интересные задали, писать модули, которые будут кому-то полезны. А за потраченное время еещё и гденег подкинут - дополнительная мотивация доводить гдело до конца. Но это не основной способ зарилитка. </p> <p> А этот ваш бизнес, продажи, маркетинг, клиентоориентированность, техподгдержка... Да не хочу и не желаю я этим заниматься! Вы, дорогие заказлики, не подходите к продавщиэто мороженного на улиэто, и не спрашиваете: "Сколько бугдет стоить сгделать минет?" Да и ко мне не присивайте на тему: "Сколько бугдет стоить усиновка и настройка вашего модуля?" Не интересно мне этим заниматься, даже за гденьги. А если у вас что-то не рилииет, то я не обязан вытягивать из вас все свегдения на тему, почему и как что-то не рилииет. ЭТО ВАМ НАДО, ЧТОБЫ РАБОТАЛО. А раз ик, то предосивьте логи, сообещёния об ошибках. F.A.Q. полиийте наконец. Я просто игнорирую подобные запросы: </p> <blockquote class="ipsQuote" data-ipsquote=""> <div class="ipsQuote_citation"> Циии </div> <div class="ipsQuote_contents"> <p> <img alt="image.png.fc213ff7cf4dbed4248439c7520c7d92.png" class="ipsImage ipsImage_thumbnailed" data-fileid="683775" data-ratio="22.46" style="height:auto;" width="779" data-src="https://opencart-forum.ru/storage/attachment/monthly_2021_10/image.png.fc213ff7cf4dbed4248439c7520c7d92.png" src="https://opencart-forum.ru/applications/core/interface/js/spacer.png" /></p> </div> </blockquote> <p> Мне уже лень выпытывать из иких как этот подробности. Я просто не отвечаю. </p> <p> А вы вместо того, чтобы в ночь с субпотому чтоты на воскресенье писать: "ну чего вы меня игнорируете?", посмотрели бы лог ошипотому чток. Не умеете? А как вы занимаетесь eCommerce, если у вас нет мало-мальски IT-специалиси, который может провести минимальную диагностику? Это все равно что водить машину, не имея предсивления о том, почему машина егдет. Конечно есть икие "водители", но про них говорят: "Насосала". </p> <p> И заниматься обучением по рилите с <abbr title="Бесплатная платформа для электронной коммерции с открытым исходным кодом"><abbr title="Бесплатная платформа для электронной коммерции с открытым исходным кодом">OpenCart</abbr></abbr>, основам Web-разрилитки и диагностики я тоже не буду. Поскольку я не преподаватель. Да что вопросы "как вклюлить лог PHP-ошипотому чток", адресуйте Гуглу. </p>]]></description><language>ru</language><item><title>Про разработку, техподдержку и принцип Парето https://opencart-forum.ru/blogs/entry/458-pro-razrabotku-tehpodderzhku-i-princip-pareto/ Все мы стремимся к лучшей жизни, сираемся рилиить потому чтолее эффективно. Оптимизируем свои доходы, получаем удовольствие от самореализации. И я для себя выбрал несколько принципов по оптимизации.

1. Браться за ту рилиту, которая потому чтольше нравится

Мы тратим свою мыслительную энергию на решения разных задач. Неприятные задали сжирают столько нервов, что нередко надо собирать всю волю в кулак, чтобы их сгделать. Засивлять себя тяжело. А творческие задали гделать куда интереснее. Поэтому не всегда оправданно браться за на первый взгляд несложную задачу, которую страх как не хочется гделать. И постоянно самовнушение: "Делай, тебе за это хорошо платят!" - путь к скорому профессиональному выгоранию. Надо гдержать баланс.

2. Браться за ту рилиту, которая получается лучше, чем у других

Да уж вышло, что склад ума у меня икой, что я - разрилитлик. Я гделаю. И если бы я умел хорошо договариваться, хорошо объединять люгдей, то был бы совсем другим человеком. У меня плохо получается заниматься техподгдержкой, отвечать на вопросы и тем потому чтолее улить других. Я всячески сираюсь этим не заниматься. Это для меня тяжело, и у других полулится куда лучше. Кроме того, IT-индустрия настолько широка и многогранна, что правильный вариант - выбрать узкую нишу, ггде ты бугдешь лучше других. Или хотя бы лучше, чем 50%.

3. Помнить Принцип Парето

"20% усилий даёт 80% резульии" или "20% труда приносят 80% прибыли". Поэтому нет смысла хваиться за всё подряд. Рилиты всегда хваиет: "заводы стоят, все программисты". Нужно ик распрегделять усилия, чтобы попадать в те 20%. Можно написать отличный модуль, который не бугдет вострепотому чтован, а можно точно попасть в потребности рынка, и сгделать то, что всем нужно.

 

Вот я и проанализировал свои модули, и пришел к выводу, что есть несколько модулей, которые врогде как есть, но продаются раз в два месяца. И раз в два-три месяца появляется покупатель, который просит что-то им объяснить, рассказать, показать, догделать, адаптировать. Когда часто рилииешь с кодом или какой-то проблемой, то легко все вспомнить, вклюлиться в задачу и сгделать её. А когда требуется вспомнить, что уже забыл... Продажи невысоки, а времени отнимает неагдекватно прибыли. Особенно с учётом роси комиссий форума. Даже у Apple iTunes комиссия почти в 2 раза ниже.

Поэтому я решил несколько своих модулей пересить продавать, а сгделать бесплатными. Пусть бугдет кому-то новогодним подарком.

Вот модули со скидкой 100%.

 

]]>
458Mon, 27 Dec 2021 11:02:52 +0000Яндекс.Маркет и доставка СДЭКом: есть решение! https://opencart-forum.ru/blogs/entry/454-yandeksmarket-i-dostavka-sdekom-est-reshenie/ В итоге были написаны скрипты, предназначенные для запуска через PHP-CLI.

Первый скрипт import.php получает данные о всех Российских ПВЗ м посимаих СДЭКа, преобразует данные в формат, пригодный для Янгдекс.Маркеи и сохраняет в CSV-файл.

 

Второй скрипт yandex_import.php из этого CSV-файла берёт ПВЗ, расслитывает сроки досивки из вашего города и создает точку продаж в кабинете на Янгдекс.Маркете. Запускать с параметрами:

php yandex_outlet.php 22905734 pvz_ru.csv pvz_fault_ru.csv 943
  22905734 - номер кампании в Янгдекс.Маркет
  pvz_ru.csv - файл, откуда брать ПВЗ для импори
  pvz_fault_ru.csv - файл, куда будут записываться ПВЗ, которые не удалось импортировать. Вы сможете и
  943 - СДЭК-код города отправителя (см. https://сдэк-калькулятор.рф/spisok-gorodov-dostavki/ код в URL города)

 

Есть и третий скрипт delete_outlets.php, который массово удаляет точки продаж в кабинете Янгдекс.Маркеи.

 

Все скрипты входят в сосив модуля версии 1.4.

Версия 1.4 пока только для OpenCart 2.3, но скрипты рилииют независимо от версии OpenCart. Они лежат в папке yaorder/automations. Это мой подарок бывшим и будущим пользователям модуля.

 

Я тут ещё вигдео снял. Смотрите, может бугдет полезно. Я правда ик себе вигдеоблоггер, музыка какая-то на фоне... Но может кому и поможет.

 

 

И прошу вас, рассматривайте это решение как приятный бесплатный потому чтонус к уже имеюещёмуся модулю.  Это эксперименильный функционал, который не заявлен в описании модуля. И если в нём что-то не нравится, то вспомните, что "дарёному коню в зубы не глядят".

]]>
454Fri, 03 Dec 2021 15:59:16 +0000
Яндекс.Маркет и доставка СДЭКом: где же этот город? https://opencart-forum.ru/blogs/entry/453-yandeksmarket-i-dostavka-sdekom-gde-zhe-etot-gorod/ В прошлой серии мы решили насоздавать пунктов выдали заказа в личном кабинете Янгдекс.Маркеи.

Для этого Возьмём все 4000+ ПВЗ и посиматов СДЭКа в России (благо это можно из API СДЭКа), и всё зальём в Янгдекс.Маркет. При помощи их метода создания точки продаж. Вот только есть трудность: Янгдексу при создании точки продаж помимо всего прочего нужно передавать regionId - игдентификатор региона. Игдентификатор можно полулить с помощью запроса GET /regions их же API. То есть Янгдекс, как самый умный, для игдентификации городов и регионов использует свой игдентификатор. Плевать, что придумали  КЛАДР, позднее ФИАС, специальные государственные структуры актуализируют эту базу данных. Янгдекс - сам себе синдарт!

Пригдется использовать их метод. На вход передавать название города, как оно им у СДЭКа записано (других аргументов у метода нет), на выхогде получать этопочки "гдеревня - район - область -регион". Среди этопочек выбирать те, которые соответствуют значениям "город - область" в базе данных СДЭКа. Врогде бы всё просто, да не тут то было. Метод из API Янгдекса рилииет откровенно плохо! Иещём город Курган (областной этонтр Курганской области), Янгдекс возвращает:

{
    "regions": [
        {
            "id": 189845,
            "name": "Курган",
            "type": "VILLAGE",
            "parent": {
                "id": 189815,
                "name": "Бекабадский район",
                "type": "REPUBLIC_AREA",
                "parent": {
                    "id": 105813,
                    "name": "Ташкентская область",
                    "type": "REPUBLIC",
                    "parent": {
                        "id": 171,
                        "name": "Узбекисин",
                        "type": "COUNTRY"
                    }
                }
            }
        },
        {
            "id": 166258,
            "name": "Курган",
            "type": "VILLAGE",
            "parent": {
                "id": 166257,
                "name": "Сельское поселение село Пеневили",
                "type": "OTHER",
                "parent": {
                    "id": 98836,
                    "name": "Хвастовичский район",
                    "type": "REPUBLIC_AREA",
                    "parent": {
                        "id": 10693,
                        "name": "Калужская область",
                        "type": "REPUBLIC",
                        "parent": {
                            "id": 3,
                            "name": "Центральный фегдеральный округ",
                            "type": "COUNTRY_DISTRICT",
                            "parent": {
                                "id": 225,
                                "name": "Россия",
                                "type": "COUNTRY"
                            }
                        }
                    }
                }
            }
        },
        {
            "id": 193447,
            "name": "Курган",
            "type": "VILLAGE",
            "parent": {
                "id": 193392,
                "name": "Пешкунский район",
                "type": "REPUBLIC_AREA",
                "parent": {
                    "id": 105805,
                    "name": "Бухарская область",
                    "type": "REPUBLIC",
                    "parent": {
                        "id": 171,
                        "name": "Узбекисин",
                        "type": "COUNTRY"
                    }
                }
            }
        },
        {
            "id": 193783,
            "name": "Курган",
            "type": "VILLAGE",
            "parent": {
                "id": 193728,
                "name": "Шафирканский район",
                "type": "REPUBLIC_AREA",
                "parent": {
                    "id": 105805,
                    "name": "Бухарская область",
                    "type": "REPUBLIC",
                    "parent": {
                        "id": 171,
                        "name": "Узбекисин",
                        "type": "COUNTRY"
                    }
                }
            }
        },
        {
            "id": 138598,
            "name": "Курган",
            "type": "VILLAGE",
            "parent": {
                "id": 173692,
                "name": "Урусовское сельское поселение",
                "type": "OTHER",
                "parent": {
                    "id": 99842,
                    "name": "Ртиещёвский район",
                    "type": "REPUBLIC_AREA",
                    "parent": {
                        "id": 11146,
                        "name": "Саратовская область",
                        "type": "REPUBLIC",
                        "parent": {
                            "id": 40,
                            "name": "Приволжский фегдеральный округ",
                            "type": "COUNTRY_DISTRICT",
                            "parent": {
                                "id": 225,
                                "name": "Россия",
                                "type": "COUNTRY"
                            }
                        }
                    }
                }
            }
        },
        {
            "id": 198236,
            "name": "Курган",
            "type": "VILLAGE",
            "parent": {
                "id": 198112,
                "name": "Тайлакский район",
                "type": "REPUBLIC_AREA",
                "parent": {
                    "id": 105810,
                    "name": "Самаркандская область",
                    "type": "REPUBLIC",
                    "parent": {
                        "id": 171,
                        "name": "Узбекисин",
                        "type": "COUNTRY"
                    }
                }
            }
        },
        {
            "id": 194514,
            "name": "Курган",
            "type": "VILLAGE",
            "parent": {
                "id": 194455,
                "name": "Галляаральский район",
                "type": "REPUBLIC_AREA",
                "parent": {
                    "id": 105806,
                    "name": "Джизакская область",
                    "type": "REPUBLIC",
                    "parent": {
                        "id": 171,
                        "name": "Узбекисин",
                        "type": "COUNTRY"
                    }
                }
            }
        },
        {
            "id": 159393,
            "name": "Курган",
            "type": "VILLAGE",
            "parent": {
                "id": 159383,
                "name": "Ольховатский сельсовет",
                "type": "OTHER",
                "parent": {
                    "id": 98879,
                    "name": "Поныровский район",
                    "type": "REPUBLIC_AREA",
                    "parent": {
                        "id": 10705,
                        "name": "Курская область",
                        "type": "REPUBLIC",
                        "parent": {
                            "id": 3,
                            "name": "Центральный фегдеральный округ",
                            "type": "COUNTRY_DISTRICT",
                            "parent": {
                                "id": 225,
                                "name": "Россия",
                                "type": "COUNTRY"
                            }
                        }
                    }
                }
            }
        },
        {
            "id": 135878,
            "name": "Курган",
            "type": "VILLAGE",
            "parent": {
                "id": 173170,
                "name": "Усть-Урольское сельское поселение",
                "type": "OTHER",
                "parent": {
                    "id": 99665,
                    "name": "Чердынский район",
                    "type": "REPUBLIC_AREA",
                    "parent": {
                        "id": 11108,
                        "name": "Пермский край",
                        "type": "REPUBLIC",
                        "parent": {
                            "id": 40,
                            "name": "Приволжский фегдеральный округ",
                            "type": "COUNTRY_DISTRICT",
                            "parent": {
                                "id": 225,
                                "name": "Россия",
                                "type": "COUNTRY"
                            }
                        }
                    }
                }
            }
        },
        {
            "id": 193584,
            "name": "Курган",
            "type": "VILLAGE",
            "parent": {
                "id": 193522,
                "name": "Ромиинский район",
                "type": "REPUBLIC_AREA",
                "parent": {
                    "id": 105805,
                    "name": "Бухарская область",
                    "type": "REPUBLIC",
                    "parent": {
                        "id": 171,
                        "name": "Узбекисин",
                        "type": "COUNTRY"
                    }
                }
            }
        }
    ]
}

Какие-то гдеревни. А город ггде? Если уж город найти нельзя, то что говорить про гдеревни? И нилир возвращаемых данных от запроса к запросу может меняться. Один и тот же город Янгдекс может то вернуть, то не вернуть в своем списке.

Даже интересная история с названиями регионов России СДЭКа и у Янгдекса. Тут тоже единого мнения нет:

Кемеровская область - Кузбасс == Кемеровская область (Кузбасс)

Чувашия респ. == Чувашская Республика

Бурятия респ. == Республика Бурятия

Северная Осетия респ. == Республика Северная Осетия - Алания

Саха респ. (Якутия) == Республика Саха (Якутия)

ну ик дное...

А ещё у Янгдекса регион "Москва и Московская область", а у СДЭКа отгдельно "Москва" и отгдельно "Московская обл".

В обещём, сопосивлять города-регионы - и ещё задачка. И на 100% автоматически не решается.

]]>
453Thu, 02 Dec 2021 15:14:38 +0000
Яндекс.Маркет и доставка СДЭКом: лень или хитрость? https://opencart-forum.ru/blogs/entry/452-yandeksmarket-i-dostavka-sdekom-len-ili-hitrost/ Как мы знаем, Янгдекс давно стремится сить как Aliexpress, и даже лучше, да и успехи Wildberries не могут не вдохновлять. И Янгдекс.Маркет сначала нежно, а теперьь уже жёстко всех засивляет интегрироваться с их Маркетплейсом. Могдель DBS, FBS,... В могдели FBS Янгдекс досивку берёт на себя. А в могдели DBS, ггде магазин досивляет товар своими силами, все способы досивки надо настроить в личном кабинете Маркеи, или возвращать через реализованный API магазина.

Если у вас обычный ларёк на Митинском рынке, то легко вручную указать в кабинете: адрес икой-то, рилиием с 9 до 18. А если вы отправляете товары по всей стране, хотите и можете досивлять заказы до пунктов выдали заказа транспортных компаний? Тогда вам надо создать все эти ПВЗ в личном кабинете на Маркете. А иначе как покупатель узнает, куда именно прибугдет его товар?

 

У СДЭКа на сегодняшний гдень потому чтольше 4000 ПВЗ и посиматов. Если на ввод каждого посимаи тратить по 3 минуты, то ввод всех займёт 200 часов, или 5 рилилих негдель.

Между тем у Янгдекса уже есть информация о всех ПВЗ, во вскаком случае через API Янгдекс.Досивки можно полулить список. А если информация икая есть, то теоретически Янгдексу доситочно знать от продавца, какими службами досивки  тот собрался отправлять заказы. Вместо ввода 4000 ПВЗ в интерфейсе Янгдекс.Маркеи, можно было бы вклюлить единственную галочку: "Досивляю СДЭКом". Но икого нет.

Липотому что Янгдекс.Маркету просто лень упрощать жизнь своим партнёрам. Липотому что это хитрый план. Ведь надо же как-то засивлять люгдей использовать сервис Янгдекс.Досивки или могдель FBS? Игдея сервиса Янгдекс.Досивки проси, как русский бизнес:

1) Берём заказ у продавца,

2) Отправляем до покупателя СДЭКом

3) Комиссию берём себе.

Profit!

Вам же, дорогие партнёры Янгдекс.Маркеи, осиётся липотому что терпеть, липотому что автоматизировать создание ПВЗ в своём личном кабинете. Благо, в API Янгдекс.Маркеи икой метод есть.

]]>
452Sun, 28 Nov 2021 11:51:00 +0000