Всего 125 970 комментариев

Lori
30 марта 2022, 15:59
0
Спасибо! Думаю все таки сделаю задачу в cron на вторичном сайте, чтобы он делал запрос по расписанию на какой-нибудь update.php основного сайта, а тот уже пусть выдает ответ в виде json с новыми расценками товаров
Евгений Webinmd
30 марта 2022, 11:45
0
ну так перетащите часть из верхнего меню в подпункты (Иконка шестеренки в правом углу — Меню ). Либо у вас зум стоит в браузере
Николай Савин
29 марта 2022, 20:33
+1
Обмен между двумя сайтами лучше производить в формате JSON. Это общепринятая система.
Инициатором обмена может быть как одна, так и другая сторона.
Варианты, которые вижу я.
1. Изменение цены одного продукта. В этом случае запускается событие, которое отправляет API запрос на сайт на сайт-приемник. В запросе артикул продукта и цена.
2. Изменение группы цен на сайте-доноре, в результате какой-то синхронизации со складом, например. В этом случае формируется текстовый файл json формата и посылается уведомление о готовности новых данных, со ссылкой на файл. Сайт-приемник, получив уведомление запускает скрипт обработки json файла
3. Сайт-приемник, самостоятельно, по расписанию запрашивает сайт-донор. Если товаров не много — то забирает на лету сформированный json Ответ. Если товаров много, то забирает файл, подготовленный заранее.
4. Если товаров много, то можно пойти дальше. Сайт-приемник первым запросом отправляет уведомление донору и необходимости подготовить свежие данные. Затем через несколько минут (сколько там нужно временим на подготовку файла с ценами), вторым запросом забирает подготовленный файл.

В целом все крутится вокруг json файла (или массива данных) и нескольких достаточно простых API запросов.
Николай Савин
29 марта 2022, 13:55
1
0
Если отключить — то получается не смогут. Согласен здесь проблема.
Наиболее простое решение это опираться на IP адрес клиента и срывать\показывать нужные компоненты.
Но это отдельный проект. Владельцы и разработчики далеко не дураки — я думаю в конце концов придумают решение.
Sergey (Sentinel)
29 марта 2022, 13:49
0
Также авторам компонентов modstore, связанных с этими соцсетями — требуется компоненты отключить
А если компонент захотят купить из другой страны, где не запрещены эти соцсети, то не смогут?
Lori
29 марта 2022, 12:06
0
Спасибо большое! Вариант с выгрузкой + cron мне больше нравится!
Наумов Алексей
29 марта 2022, 11:58
+1
Да нормальный вариант.
Или на основном сайте сделайте выгрузку в простейший файл (текстовый) в формате «артикул: цена», а со второго по cron раз в час считывайте его да и обновляйте цены.
Fi1osof
Fi1osof
28 марта 2022, 17:42
0
Не за что!
Артур Шевченко
28 марта 2022, 17:41
0
Спасибо за пакет. Прям огонь! Вот только жаль, что его почему-то не популяризировали.
Артур Шевченко
28 марта 2022, 17:40
0
Хорошо, что разобрались.
Fi1osof
Fi1osof
28 марта 2022, 17:11
0
Я тогда с гитом был на Вы совсем и с гитхабом тоже. Многое не знал. В итоге, скорее всего, просто создал новый репозиторий и пушнул в него. В MODX-репозитории тоже не сразу стал указывать ссылки на гитхаб, в большинстве случаев потому что выкладывать пакеты стал раньше, чем гитхабом пользоваться. Этот же vapor в репозиторий в 2013 году выложил, а в гитхабе только в 2015 году первый коммит. То есть я потом постепенно стал выкатывать исходники в гитхаб.
А заорхивировал я практически все свои репы, связанные с MODX, потому что это теперь не мой профиль.
Іван Клімчук
28 марта 2022, 16:18
0
Ну вот пока ты не написал, это было неочевидно. Цели обесценить твой труд у меня не было. Твой пакет на github заархивирован, ссылки на оригинальный код (в виде форка) нет, чтобы это можно было увидеть хотя бы здесь — github.com/modxcms/vapor/network/members. В описании пакета на modx.com тоже ничего нет о том, как было на самом деле (а выложить там может каждый, просто загрузив архив с пакетом). Спасибо, что написал и пояснил.
Fi1osof
Fi1osof
28 марта 2022, 16:03
+4
Добавлю объективности. Автором этого пакета являюсь именно я, и выложен он мной. Хотя львиная доля его, конечно же, написана Джейсоном. С тем же успехом можно говорить, что все сайты, написанные на MODX, идут за авторством MODX LLC, ведь в большинстве случаев основная часть этих сайтов написана командой MODX.
А тем vapor-ом, который лежит у Джейсовна, в чистом виде, пользоваться вот так не совсем получится. Очень подробно (в том числе и про авторство), написано вот здесь: freecode.academy/topics/modxcloud.com-vapor-i-klonirovanie-sajtov.html

Исходники на гитхабе github.com/MODX-Club/vapor
Есть там и такой файл: github.com/MODX-Club/vapor/blob/master/import.php, которого нет в исходном пакете.

Очень «рад» твоей высокой оценке моим трудам (немало пришлось покопать ядро, написать решения). В погоне за пропогандой MODX ты слишком уж забываешь о конечных разработчиках, и что они тоже имеют ценность.
Іван Клімчук
28 марта 2022, 09:40
+2
Добавлю объективности, автор сего пакета ни разу не Николай. Даже несмотря на то, что под его именем лежит пакет в репозитории. Код инструмента здесь github.com/modxcms/vapor и он авторства команды MODX LLC, в частности Jason Coward и Mike Schell, если верить github. Там же есть еще один инструмент — github.com/modxcms/teleport, который тоже весьма интересен.
Константин Ильин
27 марта 2022, 22:00
+1
Если я правильно понял о поиске языковой версии в урл, то вот
<?
// Массив допустимых язоковые версий, можно сделать настройку в модх и через getOption() получить, но это лишний запрос к БД
$allowLanguages = ['en','es'];

// Разбор урла
$queryArray = parse_url($_SERVER['HTTP_REFERER']);


// Разбор пути запроса 
$urlArray = explode('/',  $queryArray['path']);

// Если первый сегмент пути есть в массиве допустимых языков, соответственно урл содержит языковую версию
if(in_array($urlArray[1], $allowLanguages)){
    
    // Тут ищем контекст с языковой версией и делаем переключение на него или что-то другое

}
Николай Савин
27 марта 2022, 14:09
0
Я могу ошибаться. Тогда коллеги меня поправят.

Возьмем к примеру компонент mSearch2 и его автодополнения в поисковой строке.
Компонент отправляет запросы к серверу, беря за основу текущий хост. Который всегда без сегментов адреса.
Сервер используя хост, получает язык контекста и отдает ответ на языке чистого хоста.

Таким образом находясь на адресе site-region3.ru/en/ сервер будет запрашивать контекст основываясь только на хосте site-region3.ru и язык ответа для поисковых запросов будет русский (ну или какой там будет основным)

И таких компонентов, которые берут за основу только хост — много. Их можно дорабатывать конечно. Просто возни больше.
Александр Коваленко
27 марта 2022, 13:29
0
Да, это основное требования для SEO. Чтобы языковые версии оставались внутри одного домена или поддомена.
Поэтому ищу способ решения задачи в такой форме. Не совсем понял про JS, какие трудности могут возникнуть?
Артур Шевченко
27 марта 2022, 13:19
0
Тогда твой заказчик должен быть готов нормально так раскошелиться, но, подозреваю, это его заинтересует ещё меньше. Всем было бы проще, если бы все мессенджеры выкатили открытый API как телеграм, но, например богомерзкий Whatsapp принадлежит жадному еврею, который за всё денег хочет, а в качество не желает.
Роман
27 марта 2022, 12:51
0
В метрику можно передавать звонки с подменных номеров.