Вчера в 20:16
UPD
Добавил подключение js.cookie.min.js и ваш код заработал. Спасибо!
Как вывести похожие товары по списку опций? 12
Вчера в 19:45
Установил)), кода удалил composer remove nesbot/carbon
UDP
Ни фига не установилось)) Видимо моих знаний не достаточно, чтобы пользоваться этим доп...
Новый тип дополнений: mmxDatabase и mmxForms 33
Вчера в 13:29
Здравствуйте. Статус заказа меняется на «Оплачено» после того как покупатель оплатил товар и произошёл редирект обратно сайт. Появились случаи когда п...
[mspSberbank] Оплата заказов miniShop2 через процессинг Сбербанка 108
Вчера в 13:27
Так вроде, пошустрее будет ):
$sql = "
SELECT tvr.value, tv.caption
FROM {$modx->getTableName('modTemplateVarResource')} t...
Получение всех TV полей ресурса из конкретной категории и вывод в чанк 1
03 мая 2024, 11:45
Всем привет! Подскажите пожалуйста а можно ли сделать фильтр в 2 уровня и как это сделать? Т.е. например мне нужно сделать: домен/бренд-из-сео-фильтра...
Анонс SeoFilter - ЧПУ+SEO для mFilter2 и не только 120
02 мая 2024, 15:27
Есть у кого-то идеи? или в данном случае через плагин и событие пробовать, или мсинк тупо всё обрезает?
Msync как записать html контент, а не обработанный без тегов? 1
02 мая 2024, 12:15
воротите, что хотите. Вплоть до удаления исходников сайта, это уже на ваше усмотрение.
Это определённо очень важная возможность 😊
mmxFenom - нативная интеграция шаблонизатора 3
02 мая 2024, 11:30
Управляя настройками mysql, можно задать параметр sql_mode пустым значением (после чего все заработает), но хостер такую возможность не дает… Есть ли ...
pdoTools и sql_mode=only_full_group_by - ошибки при работе PdoPage 1
02 мая 2024, 10:27
<?php
$id = $modx->getOption('id', $scriptProperties, $modx->resource->id);
$field = $modx->getOption('field', $scriptProperties);
$tpl...
Вывод даты msTimeStamp полей MiniShop2: new, favorite, popular... 3
а у вас на скрине другая. Это тоже может быть причиной.
Выглядит странно, по идее Денис все верно сказал, нужно изменить тип поля value. На самом деле максимальную длину хранимых данных данных можно и не указывать, будет выделено 65 килобайт под каждое значение.
По идее, вам и стандартного mediumtext должно было хватать, под него выделяет 16 миллионов символов, ну неужели ваш json был больше.
Проверяйте ошибки в логах, как в браузере в момент сохранение, так может и логи на сервере.
У меня родилась теория, что ваш json мог обрезаться не по причине длины строки, а по причине того что в его тексте встречался какой то запрещенный в sql символ, хотя это не поясняет ту ситуацию что вы описали в последнем коменте — не сохраняется даже простая строка «536870911»
Вся эта идея с генерацией уникального ключа для каждой формы, помещения по этому ключу данных в сессию, при отправке формы считываная этого с сессии… вызывает ощущение дикого костыля. Да, я вынуждем признать, что когда я писал свой аналог ajaxForm я тоже не придумал ничего лучшего и использовал этот же костыль.
Может быть, отчасти, именно поэтому я все реже и реже использую ajaxForm и его аналоги на сайтах и предпочитаю оставить форму в верстке, написаь свой js обработчик и свой php контроллер для отправки.
Удивление вызвал Константин, вот прям интересно стало, зачем может понадобиться не очищать форму, после того как она отправлена? Это вроде бы такое странное поведение, все равно что пригнать машину на мойку, но попросить оставить грязным две двери) Ну тоесть теоретически там может быть, но зачем.
Расскажите пожалуйста, Константин, побалуйте пожалуйста мое любопытство, для каких целей форма должна оставаться с отправленными данными…
Ну а восхищение вызвал Баха, которые несмотря на нелогичность этого действия, даже добавил в сниппет параметр, за это отвечающий.
Не считаю себя ни отличником, ни даже троешником по минишопу, но если я смогу чем то помочь, то буду рад. Я открыл возможность писать мне сообщения на сайте.
Поэтому и есть некое ощущение оторванности от всего остального мира, поскольку сделано под конкретные нужды.
Но это не значит что компонент плохой, ни в коем случае.
Но чтобы об этом узнать, нужно купить.
Да наверное можно мне ответить, что можно бесплатно попробовать на модхосте, но все равно это время и не малое — регистрируйся, устанавливай, сам разбирайся — а что можно сделать, а что нет.
Да проще уже самому написать функционал, чем методом тыка разбиратсья в чужом.
А вот когда в документации помимо сухих технических данных, есть человеческим языком написанный текст, что мол после установки вы сможете решить такие то и такие то свои проблемы, вот это и это станет делать более просто и так далее — это же прекрасно.
Вот для примера, компонет в магазине (да простит меня автор)
modstore.pro/packages/alerts-mailing/socialtools
Название — Компонент с социальным функционалом
Описание — SocialTools — это компонент с социальным функционалом для CMS / CMF MODX. С помощью него можно отправлять и читать сообщения
Ну жесть же. Компонент с социальным функционалом, который позволяет читать и отправлять сообщения. Какие сообщения? Где читать? Куда отправлять? Чьи сообщения… А ниже только примеры вызовов сниппетов. Ничего не понятно, ни варианты использования, ни решаемые компонентом задачи. С таким же успехом название и описание можно было написать на латинском языке или на суахили, ничего не изменилось бы.
Ну это я так, бурчу от старости)
Честно скажу, мне часто в описании новых компонентов (не обязательно ваших) не хватает «художественной части». Почти всегда все авторы акцентируют внимание на том, как вызвать сниппет, что ему передать и так далее и это правильно.
Но этого мало. Это уже технические аспекты, которые интересны сугубо разработчику.
А вот рассказать — зачем был создан этот компонент, какие задачи он призван решать, как именно он решает эти задачи, чем он облегчит жизнь менеджеру? сеошнику? покупателю? Ведь это важно, чтобы привлечь потенциальных покупателей.
Вот мне не особо понятно, зачем вообще может использоваться деление сайта на филиалы. Я думал, что это даст возможность в рамках одного сайта делать СЕО продвижение сразу нескольких своих филиалов. Но для этого нужны отдельные домены и отдельно ресурсы. Чтобы у филиала А был домен a.site.com и сооствественно СВОЕ содержимое страницы a.site.com/contacts или a.site.com/about
а у филиала Б свое содержимое этих страниц. Но получается что это не так.
Если бы в админке были разделены списки заказов для разных филиалов, то это могло бы облегчить жизнь менеджеров. Раз уж вышло что в рамках одного сайта например должны работать менеджеры 10 филиалов, то им было бы легче если бы они получали на свою почту уведомления о заказах сделанных по их филиалу, видели в админке только свои список заказов. Получается что и для менеджера никаких особых выгод нет.
Пользователю сайта есть небольшой бонус — только если включены поддомены, только если настроен редирект на самый близкий к пользователю филиал, то теоретически он сделает заказ в этом филиале и возможно товары к нему прибудут быстрее, чем если бы он заказал в другом филиале.
И я прекрасно понимаю, что вы сделали огромную работу, но без какого-то художественного представления, рассказа о том, зачем вообще это все нужно, сложно увидеть реальные случаи использования.
1) пользователь может добавлять в корзину товары из разных филиалов? Я вошел в один филиал (поддомен), добавил в корзину один товар. Потом сразу перешел на второй поддомен и добавил в корзину уже товар из другого филиала? Или программа отслеживает это и не дает формировать заказ из товаров разных филиалов?
2) в документации указано, что есть учет остатков при покупке. Как это работает. К примеру у меня два филиала. А и Б. Насколько я понял из документации у вас товары имеют привязку к филиалу. К примеру у меня есть всего один товар. Назовем его Т. Но он представлен как в филиале А так и в филиале Б. В филиале А его 10 штук, а в филиале Б его 20 штук. Я клиент, делаю заказ. Сначала помешаю в корзину товар находясь в филиале А (a.site.com), потом перехожу в филиал Б (b.site.com) и снова добавляю товар. В корзине два раза товар Т но из разных филиалов. Оформляю заказ. Как будет работать учет остатков? У каждого филиала уменьшится на 1?
2) куда приходит уведомление о заказе? У каждого филиала своя почта для получения? Я клиент, вошел на домен одного филала, сделал заказ. Вошел на домен другого филиала, сделал заказ. Заказы пришли разным менеджерам? Или если одному, то в заказе видно, для какого филиала он был оформлен? Как менеджер филиала в караганде поймет, что это ему нужно идти на склад и собирать товары для этого заказа.
Подскажите пожалуста:
1) вы нигде не уточняете о каких филиалах вообще идет речь? Только из упоминания в тексте о товарах, можно предположить что речь о филиалах магазина.
2) а могу ли я создать филиалы НЕ магазина. Не нужны мне там товары, например у меня бизнес по приемке металла и у меня 20 филиалов в разных странах. Но товаров в этом бизнесе нет. А вот иметь отдельные страницы (ресурсы) у каждого филиала хотелось бы. Тоесть у филиала номер один есть страница контакты, у филиала 2 — нет. Но при этом у филлиа два есть страница — наши преимущества.
3) возможность переключения между поддоменами. Достаточно просто в админке создать поддомен и все рабоатет? Не нужно создавать реальный поддомен? Не нужно вносить изменения в конфигурацию вебсервера? Работает и для apache и для nginx? SSL сертификат сразу работает и на этих поддоменах?
4) «Создание для каждого филиала своего sitemap.xml файла, который содержит только товары филиала». Это еще больше убеждает меня, что под словом «филиал» Вы имели ввиду исключительно филиалы магазинов. Или же я могу сгененировать карту сайта в которой будут не товары этого филиала, а его ресурсы-страницы?
спасибо.
Внутри чанка вам доступен номер иттерации. [[+idx]]
вы можете написать проверку, на то что номер иттерации без остатка делится на 3.
если это условие верно, то вы будете знать, что завершилась 3,6,9 и так далее иттерация.
и по этому условию вывести другую верстку.
Один для списка новостей, второй для детальной новости?
В первом вызываете pdoresources а во втором НЕ вызываете его, а просто обращаетесь к полям ресурса через
[[*pagetitle]] [[*content]] и так далее?
а то сложилось чувство, что вы либо одинаковый шаблон назначаете как списку новостей так и отдельной новости, либо же шаблоны разные, но и в том и другом вызывается pdoresources.
Консоль в браузере обязательно должна была вам об этом сообщить.
Использовать нам или нет — это уже наше дело. Кто может — напишет лучше. Кто не может — возьмет этот пример. Зачем прям минусовать заметку.
Видимо мир вообще устроен циклически. Мы сначала изобретаем технологии, чтобы нам проще жилось, а затем технологии отупляют нас и уничтожают.
Ведь получается, что через какое то количество лет и правда появится профессия «оператор чатбота», цель которого будет уже не написание кода, а формулировка правильных вопросов. И тогда человек вообще разучится программировать. Как мы уже разучились считать, после того как изобрели дешевые калькуляторы. Моей маме 80 лет и она прекрасно в уме умножает 3 значные числа, А на листке в столбик может делить огромные числа. А я уже не могу. Чтобы умножить 23 на 56 лезешь за калькулятором. Или когда телефоны были стационарные, я помнил около 30 номеров — друзья со школы, другие важные номера. КОгда появились мобильные и их телеонные книжки — я с трудом вспоминаю свой номер телефона, не говоря уже о 30 других. Мы, как человеческий вид (ну хорошо, не буду говорить мы, скажу — я) тупеем, и это плата за использование технологий.
У Айзека Азимова есть фантастический рассказ, как люди в 2100 году заново изобретали таблицу умножения, видимо фантаст был прав)
Чтобы разорвать этот круг нужно остановится в какой то точке. Вот вы пишите, может гугл запретить. А было бы неплохо. По краней мере для программистов, чтобы гугл предоставлял доступ только к документации. А не к чужому коду и прочему. Хочешь чтото написать — будь добр изучи и напиши.
Но понятно что это мои фантазии…
Возникла на работе задача сделать быстрое решени по переносу сайтов с одного места в другое.
Как ее решал я — писал bash скрипты, которые по ssh выполнли создание архивов, дампы баз, потом подключались на другой сервер, туда все копировали, проводили постобработку типа сброса кеша, замены путей в файлах конфигураций и так далее.
Как ее решил мой коллега. Написал на jave программу которая тупо запускает браузер и в нем полностью имитирует все действия человека. Тоесть его программа сначала вошла на хостинг откуда нужно перенести, сама там авторизовалась, сама преешла на нужные страницу в панели хостинга, создала архивы, как это делал бы человек, скачала их. ПОтом авторизовалась на другом хостинге и там создала новый сайт, залила туда архив и так далее. Все это визуально у тебя перед глазами, ты только сидишь и смотришь.
И тут я понял, что при таких возможностях, нет никаких разумных способов отличить бота от человека. Только задавать вопросы боту, на которые ему будет сложно ответить.