Александр Мельник

Александр Мельник

С нами с 02 сентября 2016; Место в рейтинге пользователей: #64
Александр Мельник
4 часа назад
0
так как для проекта для которого он разрабатывался этого не нужно
Вот вот! Я так сразу и подумал, что родился этот компонент исключительно под требования какого то одного заказчика. Ему требовалась конкретная бизнес логика и вы ее реализовали.

Поэтому и есть некое ощущение оторванности от всего остального мира, поскольку сделано под конкретные нужды.
Но это не значит что компонент плохой, ни в коем случае.
Александр Мельник
4 часа назад
+1
Это прекрасно.
Но чтобы об этом узнать, нужно купить.
Да наверное можно мне ответить, что можно бесплатно попробовать на модхосте, но все равно это время и не малое — регистрируйся, устанавливай, сам разбирайся — а что можно сделать, а что нет.
Да проще уже самому написать функционал, чем методом тыка разбиратсья в чужом.

А вот когда в документации помимо сухих технических данных, есть человеческим языком написанный текст, что мол после установки вы сможете решить такие то и такие то свои проблемы, вот это и это станет делать более просто и так далее — это же прекрасно.
Вот для примера, компонет в магазине (да простит меня автор)
modstore.pro/packages/alerts-mailing/socialtools
Название — Компонент с социальным функционалом
Описание — SocialTools — это компонент с социальным функционалом для CMS / CMF MODX. С помощью него можно отправлять и читать сообщения

Ну жесть же. Компонент с социальным функционалом, который позволяет читать и отправлять сообщения. Какие сообщения? Где читать? Куда отправлять? Чьи сообщения… А ниже только примеры вызовов сниппетов. Ничего не понятно, ни варианты использования, ни решаемые компонентом задачи. С таким же успехом название и описание можно было написать на латинском языке или на суахили, ничего не изменилось бы.

Ну это я так, бурчу от старости)
Александр Мельник
4 часа назад
+1
Понятно, спасибо.
Честно скажу, мне часто в описании новых компонентов (не обязательно ваших) не хватает «художественной части». Почти всегда все авторы акцентируют внимание на том, как вызвать сниппет, что ему передать и так далее и это правильно.
Но этого мало. Это уже технические аспекты, которые интересны сугубо разработчику.
А вот рассказать — зачем был создан этот компонент, какие задачи он призван решать, как именно он решает эти задачи, чем он облегчит жизнь менеджеру? сеошнику? покупателю? Ведь это важно, чтобы привлечь потенциальных покупателей.

Вот мне не особо понятно, зачем вообще может использоваться деление сайта на филиалы. Я думал, что это даст возможность в рамках одного сайта делать СЕО продвижение сразу нескольких своих филиалов. Но для этого нужны отдельные домены и отдельно ресурсы. Чтобы у филиала А был домен a.site.com и сооствественно СВОЕ содержимое страницы a.site.com/contacts или a.site.com/about
а у филиала Б свое содержимое этих страниц. Но получается что это не так.
Если бы в админке были разделены списки заказов для разных филиалов, то это могло бы облегчить жизнь менеджеров. Раз уж вышло что в рамках одного сайта например должны работать менеджеры 10 филиалов, то им было бы легче если бы они получали на свою почту уведомления о заказах сделанных по их филиалу, видели в админке только свои список заказов. Получается что и для менеджера никаких особых выгод нет.
Пользователю сайта есть небольшой бонус — только если включены поддомены, только если настроен редирект на самый близкий к пользователю филиал, то теоретически он сделает заказ в этом филиале и возможно товары к нему прибудут быстрее, чем если бы он заказал в другом филиале.

И я прекрасно понимаю, что вы сделали огромную работу, но без какого-то художественного представления, рассказа о том, зачем вообще это все нужно, сложно увидеть реальные случаи использования.
Александр Мельник
9 часов назад
0
Если это дополнение все таки нацелено на интернет магазин и мы создаем разные филиалы, то как работает система оформления покупки?
1) пользователь может добавлять в корзину товары из разных филиалов? Я вошел в один филиал (поддомен), добавил в корзину один товар. Потом сразу перешел на второй поддомен и добавил в корзину уже товар из другого филиала? Или программа отслеживает это и не дает формировать заказ из товаров разных филиалов?
2) в документации указано, что есть учет остатков при покупке. Как это работает. К примеру у меня два филиала. А и Б. Насколько я понял из документации у вас товары имеют привязку к филиалу. К примеру у меня есть всего один товар. Назовем его Т. Но он представлен как в филиале А так и в филиале Б. В филиале А его 10 штук, а в филиале Б его 20 штук. Я клиент, делаю заказ. Сначала помешаю в корзину товар находясь в филиале А (a.site.com), потом перехожу в филиал Б (b.site.com) и снова добавляю товар. В корзине два раза товар Т но из разных филиалов. Оформляю заказ. Как будет работать учет остатков? У каждого филиала уменьшится на 1?
2) куда приходит уведомление о заказе? У каждого филиала своя почта для получения? Я клиент, вошел на домен одного филала, сделал заказ. Вошел на домен другого филиала, сделал заказ. Заказы пришли разным менеджерам? Или если одному, то в заказе видно, для какого филиала он был оформлен? Как менеджер филиала в караганде поймет, что это ему нужно идти на склад и собирать товары для этого заказа.
Александр Мельник
Сегодня в 07:35
0
Видео не отображается ни здесь, ни в документации — залито как приватное.

Подскажите пожалуста:
1) вы нигде не уточняете о каких филиалах вообще идет речь? Только из упоминания в тексте о товарах, можно предположить что речь о филиалах магазина.
2) а могу ли я создать филиалы НЕ магазина. Не нужны мне там товары, например у меня бизнес по приемке металла и у меня 20 филиалов в разных странах. Но товаров в этом бизнесе нет. А вот иметь отдельные страницы (ресурсы) у каждого филиала хотелось бы. Тоесть у филиала номер один есть страница контакты, у филиала 2 — нет. Но при этом у филлиа два есть страница — наши преимущества.
3) возможность переключения между поддоменами. Достаточно просто в админке создать поддомен и все рабоатет? Не нужно создавать реальный поддомен? Не нужно вносить изменения в конфигурацию вебсервера? Работает и для apache и для nginx? SSL сертификат сразу работает и на этих поддоменах?
4) «Создание для каждого филиала своего sitemap.xml файла, который содержит только товары филиала». Это еще больше убеждает меня, что под словом «филиал» Вы имели ввиду исключительно филиалы магазинов. Или же я могу сгененировать карту сайта в которой будут не товары этого филиала, а его ресурсы-страницы?
спасибо.
Александр Мельник
30 мая 2023, 18:30
0
если бы вы использовали синтаксис fenom было бы проще.
Внутри чанка вам доступен номер иттерации. [[+idx]]
вы можете написать проверку, на то что номер иттерации без остатка делится на 3.
если это условие верно, то вы будете знать, что завершилась 3,6,9 и так далее иттерация.
и по этому условию вывести другую верстку.
Александр Мельник
30 мая 2023, 08:23
+1
Мне кажется, вам стоит более детально описать проблему, может добавить скриншоты.
tEvent сам по себе компонент (не модуль, правильная терминология очень важна) редкий, не так много разработчиков с ним работают.
И как я прочел, это компонент который организует запись пользователь на какие-то мероприятия.
Становится непонятно, о какой «экспорте» идет речь?
— может вы под экспортом подразумеваете установку компонента через магазин на сайт
— может вы под экспортом понимаете сохранение данных в файл уже в админке своего сайта (судя по описанию тут https://modstore.pro/packages/users/tevent это возможно)
— а если перейти на страницу этого комопнента на github https://github.com/touol/tEvent то там есть раздел «How to Export» и автор экспортом называет манипуляции с системой версионного контроля.
Александр Мельник
26 мая 2023, 07:47
0
Вы ведь сделали два разных шаблона, верно?
Один для списка новостей, второй для детальной новости?
В первом вызываете pdoresources а во втором НЕ вызываете его, а просто обращаетесь к полям ресурса через
[[*pagetitle]] [[*content]] и так далее?

а то сложилось чувство, что вы либо одинаковый шаблон назначаете как списку новостей так и отдельной новости, либо же шаблоны разные, но и в том и другом вызывается pdoresources.
Александр Мельник
08 мая 2023, 08:19
+1
Не вникал конкретно в вашу ситуацию, но раз вы используете импорты, то необходимо добаввлять атрибут type=«module» у тега script.
Консоль в браузере обязательно должна была вам об этом сообщить.
Александр Мельник
30 апреля 2023, 09:25
+6
Человек решил свою проблему, поделился и молодец.
Использовать нам или нет — это уже наше дело. Кто может — напишет лучше. Кто не может — возьмет этот пример. Зачем прям минусовать заметку.
Александр Мельник
28 апреля 2023, 09:04
+2
И в ваших словах есть правда.
Видимо мир вообще устроен циклически. Мы сначала изобретаем технологии, чтобы нам проще жилось, а затем технологии отупляют нас и уничтожают.
Ведь получается, что через какое то количество лет и правда появится профессия «оператор чатбота», цель которого будет уже не написание кода, а формулировка правильных вопросов. И тогда человек вообще разучится программировать. Как мы уже разучились считать, после того как изобрели дешевые калькуляторы. Моей маме 80 лет и она прекрасно в уме умножает 3 значные числа, А на листке в столбик может делить огромные числа. А я уже не могу. Чтобы умножить 23 на 56 лезешь за калькулятором. Или когда телефоны были стационарные, я помнил около 30 номеров — друзья со школы, другие важные номера. КОгда появились мобильные и их телеонные книжки — я с трудом вспоминаю свой номер телефона, не говоря уже о 30 других. Мы, как человеческий вид (ну хорошо, не буду говорить мы, скажу — я) тупеем, и это плата за использование технологий.
У Айзека Азимова есть фантастический рассказ, как люди в 2100 году заново изобретали таблицу умножения, видимо фантаст был прав)
Чтобы разорвать этот круг нужно остановится в какой то точке. Вот вы пишите, может гугл запретить. А было бы неплохо. По краней мере для программистов, чтобы гугл предоставлял доступ только к документации. А не к чужому коду и прочему. Хочешь чтото написать — будь добр изучи и напиши.
Но понятно что это мои фантазии…
Александр Мельник
28 апреля 2023, 08:39
0
Знаете, я разуверился в возможности написания «атоматического» спамбота, когда не так давно произошло следующее.
Возникла на работе задача сделать быстрое решени по переносу сайтов с одного места в другое.
Как ее решал я — писал bash скрипты, которые по ssh выполнли создание архивов, дампы баз, потом подключались на другой сервер, туда все копировали, проводили постобработку типа сброса кеша, замены путей в файлах конфигураций и так далее.
Как ее решил мой коллега. Написал на jave программу которая тупо запускает браузер и в нем полностью имитирует все действия человека. Тоесть его программа сначала вошла на хостинг откуда нужно перенести, сама там авторизовалась, сама преешла на нужные страницу в панели хостинга, создала архивы, как это делал бы человек, скачала их. ПОтом авторизовалась на другом хостинге и там создала новый сайт, залила туда архив и так далее. Все это визуально у тебя перед глазами, ты только сидишь и смотришь.
И тут я понял, что при таких возможностях, нет никаких разумных способов отличить бота от человека. Только задавать вопросы боту, на которые ему будет сложно ответить.
Александр Мельник
28 апреля 2023, 08:29
0
но согласитесть, нет разницы, будет в каждой форме в этом инпуте написано одна и таже строка (value='hello world') или генерируемая каждый раз разная строка — на антиспам это не должно влиять. Ведь валидатор проверяет только факт заполненности этого поля.
Александр Мельник
28 апреля 2023, 08:19
0
Приведу пример, почему у меня слегка негативное отношения к чрезмерному использованию интернета и тем более всяких чатов на ИИ в разработке.
Есть коллега, который всегда предлагает самые безумные решения. К примеру, собираемся разрабатывать сложный проект, в сжатые сроки, мы разрабатываем бэк на php. Он же выступает с предложением, а давайте на python. Все такие — как так, никто не умеет python, зачем. Спрашиваем — у вас есть опыт работы с этим языком, говорит нет. Так чего ради все будут сложный проект начинать на совершенно неизвестном языке — ответ. Да что там сложного, все можно нагуглить.
Или аналогичный пример. Этот же человек вдруг посмотрел видео на ютубе и решил, что теперь нужно использовать везде graphQL вместо restapi у нас. Потому что в видео сказали, что это круче. И все, этого достаточно.
В современном мире разработчик вообще перестал думать, что програмирование это вообще то сложно. Что ты должен и мозг затачивать и тренировать определенным образом, и память. Что ты должен учить книги по 600 страниц чтобы разобраться в регулярных выражениях на высоком уровне. Никто не хочет этого делать, все говорят — да нафик, мы пойдем нагуглим. ВОзьмем куски чужого кода, а если возникнут проблемы, зададим вопрос на stackoverflow.
На днях случайно попросил одного человека кое что исправить в своем же коде на js, при открытом экране в скайпе. И человек не смог. Он даже не знает как правильно пишется addEventListener поскольку редактор все время сам ему подсказывает. И это человек с высшим образованием программиста. Без доступа к интернету никто уже не может программировать, потому что се данные не у тебя в голове, а в гугле.
Поэтому в целом, я негативно отношусь к чрезмерному использованию современных технологий в нашей работе.
Александр Мельник
28 апреля 2023, 08:01
0
Лично у меня очень неоднозначное отношение к этим новым технологиям и чат-ботам. Но уже ничего не поделаешь и прийдется учиться жить с ними.
Вы имете ввиду, что бота можно попросить «напиши мне быстрый сеофильтр» для modx 2.8.5 без minishop как просит мой сеошник Роман? )) Врядли.
Мои попытки поиграться с chart-gpt показали что для генерации сложного кода он пока еще не подходит, максисм решение «классических» задач и алгоритмов — типа напиши оптимальный алгоритм вычисления чисел Фиббоначи или сортировку пузырьком.
Да и вообще, разработчик, если он называется программистом, должен быть хардкорным — только документация и только твой ум. Этого достаточно для решения любых задач. А иначе нас нужно будет переименовывать из разработчиков в «оператор чатбота» )
Александр Мельник
28 апреля 2023, 07:42
0
И не совсем мне ясно, в чем ообще смысл сниппета и генерирования каждый раз случайной строки. Ведь валидатор проверяет только факт наличия заполненности такого поля. На мой взгляд, если руками один раз вписать value для этого инпута ничего не измениться. Или я не прав?
Александр Мельник
28 апреля 2023, 07:37
0
Спасибо за очередной способ борьбы со спамом, но честно говоря, я не понял как он работает и почему именно должен защитить от спама.
Вы генерируете случайную строку, вставляете ее в форму через jquery, а затем в валидаторе проверяете ее наличие.
А почему собственно она должна отсутствовать? Спам боты точно так же выполняют весь javascript на странице, как и обычный пользователь и этот инпут будет добавлен в форму и в случае спамбота.
Но если вы говорите что вам помогло, то вам везет и видимо пока что вас атакуют самые примитивные боты)
Я пробовал подобный подход, но не просто append при загрузки странице, а например добавление скрытого поля в форму только после того как кто то кликнул по кнопке, открывающей конкретную форму, пробовал добавлять поле при события наведения мыши на открытой модальное окно и так далее. И в любом случаем через день два спам снова возобновлялся в том же объеме.
Признаюсь, что ни один из способов «автоматического» определения — спам, не спам не дал для меня результата. Лучшего способа с пока что 100 процентным результатом удалось добиться только при таком антиспаме, где пользователю предлагается ответить на вопросы. Как в каптче от гугла — типа выберите все мосты на 8 фотографиях.
Александр Мельник
22 апреля 2023, 14:55
0
Скорее всего вы правы, однако мой опыт использования этих редакторов в своих проктах, когда мне нужно создать свою админку, говорит о том, что как минимум нужно регистрироваться на сайте редактора, получать токен, который использовать для подключения скриптов и даже после этого (вот непомню кто конкретно — ckeditor или tinymce) выводит уведомление — мол у вас бесплатная версия, оплатите.
Может я что-то не понимаю, не правильно пользуюсь этими редакторами — не знаю.
Но помню что в итоге пришлось в одном случае написать свой простенький редактор, в другом найти реально открытый и бесплатный quilljs.com/
Александр Мельник
22 апреля 2023, 14:28
0
А у меня вопрос лишь частично по теме, но раз уж вы разбирались с этим редактором.
Я вот не пойму, насколько я вижу на офф сайтах, что редактор ckeditor, что tinymce являются платными продуктами.
Бесплатное пользование либо ограничено по времени либо по функционалу.
Я точно помню год назад пытался в одном проекте использовать какой-то из этих двух редакторов и без оплаты он выводил уведомление прямо под самим редактором, что мол демо версия, оплатите. Тоесть ты вообще не можешь им пользоваться, пока не завел аккаунт на их сайте, но и после этого должен еще и оплатить.
Как тогда получается, что устанавливая компонент с редактором из магазина, мы получаем работоспособный редактор? Там используются взломанные версии? Или кто то за нас всех уже заплатил?
Или же я ошибаюсь и эти два редактора можно использовать официально бесплатно?
Александр Мельник
20 апреля 2023, 11:37
0
искал «не рендерить тег», «игнорировать тег», «запретить рендеринг» — ничего не находилось, пока в голову не пришел правильный глагол — экранировать.
И тогда по запросу «экранировать modx тег» сразу нашлось и вполне разумное решение — заменить квадртаные скобки на их html сущности.
modx.pro/help/14977