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

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

С нами с 02 сентября 2016; Место в рейтинге пользователей: #52
29 ноября 2021, 08:24
0
Мне кажется вам нужно и сами условия акции хорошо продумать. К примеру — человек покупает 3 товара и у самого дешевого ваш плагин поставит цену равную ноль. Но потом человек добавит в корзину еще 2 товара и у один из них еще более дешевый. Как быть — тому товару что обнулили возвращать изначальную стоимость, и теперь самому дешевому из пяти ставить нулевую? Плюс нужно позаботаться о том, что человек может и удалять товары из корзины, к примеру добавил три товара, один из них стал бесплатным, а потом удалил два с ценой и купил один товар за нулевую цену. Тоесть ваш плагин должен еще отрабатывать событие удаления товаров, изменения их количества и так далее.
24 ноября 2021, 19:17
+1
Скажите пожалуйста, а нет желания создать ответвление modx без extjs?
Пусть это будет ваша российская разработка, в которой хоть и хороший, но малопопулярный extJs заменен на vue? Чтобы так же скачал, установил, но у тебя админка на vue.
Мне кажется это сильно бы увеличило популярность modx. Я вот люблю modx потому что после джумлы (но ее я искренне ненавижу) он был у меня первый, я как дурак смотрел на эти квадратные скобочки и говорил, что в учебнике по php такого не было.
Но учить extJs вот прям не хочу. А vue3 относительно прост и перспективен.
23 ноября 2021, 09:23
0
Если непонятно написал, прошу тапками не бросать. Лучше спрашивайте.
так дела не делаются. Вы просите о помощи и от того как точно вы сформулируете вопрос будет зависеть и ваше уважение к коллегам и то захотят ли вам ответить. Выспрашивать, в чем же ваша проблема никто не будет, раз вы сами не потратили время на ее формулировку.
20 ноября 2021, 12:16
0
Кстати, а почему вы используете компонент recaptcha2, есть помоему специально для третьей версии отдельный компонент.
20 ноября 2021, 12:10
0
Пропускает конечно, этот (как и любой другой) инструмент не дает 100% гарантии. У меня тоже на более чем 20 сайтах установлена recaptcha3 и на каждом из этих сайтов есть спам. Ну вернее на 4 сайтах спама нет, но это не заслуга captcha а просто эти сайты забыты и Богом и спамерскими программами.
Совместно с captcha мудрю и другие способы защиты (скрытые поля, которые якобы спам бот должен все равно заполнить, варианты через js которые предложил Артур и прочее), но все это если и помогает то на пару недель, после чего спам продолжает идти как и раньше.
Опытным путем нашел «лучший для себя способ», однако применяю его там, где пишу сайт с нуля, а не на CMSках. Не использую тег form вообще для создания форм, верстаю все формы так, чтобы они не были заключены в
<form>
. Да это лишает нас события submit, но поскольку я все равно все свои формы обрабатываю собственными js обработчиками, то для меня это не проблема. Спам бот не определяет такие формы и не атакует их (возможно что на днях они научаться делать и это).
10 ноября 2021, 18:16
0
Дмитрий, дело в том, что modx использует для работы с базой данных так называемую ORM (object relational mapper) которая называется xPDO.
В таком случае все таблицы в базе представлены как некие сущности-объекты, работать с которыми нужно не прямыми SQL запросами, а методами xPDO.
Почитайте информацию, ссылки на которую дал Александр.
09 ноября 2021, 19:50
0
Если же для вас важно, чтобы и поисковая система видела только первое предложение, то да — немного сложнее. Нужно нагуглить как писать свои модификаторы и написать такой, который можно применить к текстовому выводу {$contents|showFirstSentence}
После этого в шаблоне прописать ссылку — показать еще. При клике по ней нужно совершить ajax запрос на ваш файл, в котором вы подключите объект modx по учебнику docs.modx.com/current/en/extending-modx/modx-class/loading-externally, каким то образом (через data атрибут ссылки ?) получите идентификатор ресурса, на котором идет запрос текста, получите весь текст (чтобы не заморачиваться с отрезанием первого предложения, которое уже есть на странице) и поместите этот текст на страницу, перезаписав первое предложение и кнопку — подробнее.
09 ноября 2021, 19:32
0
Все зависит от того зачем вы это делаете. Пока что выглядит так, что вам поможет javascript. Получить весь текст, найти кусок до точки, остальное скрыть. Добавить ссылку — подробнее, подвесить на нее событие, которое откроет остальной текст.
Но это будет иметь смысл, если вы не из СЕО соображений это делаете, потому что в исходном коде, который вернул сервер будет присутствовать весь текст.
05 ноября 2021, 17:33
0
В хостинге оказалась проблема.
Этот хостинг вообще самый своеобразный в моей коллекции)
www.1gb.ru/
он даже дурацкий masterhost переплюнул по странности.
05 ноября 2021, 17:06
0
пробовал, нет стабильно 302.
написал в поддержку хостинга, может что подскажут.
05 ноября 2021, 16:48
0
не назову себя знатоком команд модуля Rewrite но помоему нет.
Вот полное содержание .htaccess
RewriteEngine On
RewriteBase /

RewriteRule "/\.|^\.(?!well-known/)" - [F]

RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
05 ноября 2021, 16:36
0
причем результат не зависит от команд modRewrite
Если они корректные, то редирект происходит, но с 302
Использовал такой вариант
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
и все равно
05 ноября 2021, 15:24
0
консоль браузера?
302
02 ноября 2021, 22:04
0
спасибо. Именно для этого я писал)
02 ноября 2021, 21:05
+1
Делал нечто подобное для пары проектов, правда мои знания в extJs экспоненциально стремятся к нулю и в админке это выглядело куда хуже.
Но почти сразу все заказчики попросили доработать. Мало кому нужно просто постоянно висящее уведомление. Всем хочется
— показать если конкретно этот посетитель еще не видел
— возможность закрыть уведомление
— закрыть навсегда для этого пользователя или же показать ему через 2 часа после того как он закрыл
— и так далее
02 ноября 2021, 19:49
+1
А мне наоборот по кайфу.
зависит наверное от специфики работ.
У меня своеобразная работа. У нас фирма, которая разрабатывает 20 процентов, а 80 процентов это взятые по всему интернету сайты, которым обещали СЕО продвижение.
Текучка проектов жуткая.
В 8-30 тебе говорят, что взят новый проект на вордпрессе
В 9-45 сео специалситы запустили свою жуткую программу по анализу и выкатили 450 (я не шучу) страниц в pdf с ошибками по этому сайту.
В 10-30 начальник спрашивает почему ошибки еще не исправлены.
Нет времени «изучить» этот проект. Понять где у него код, а где логи и кеш. Или же например читая отчет по СЕО ты видишь что они рекомендуют все изображения перевести в webp, а значит и картинки нужно выкачивать.
Ты должен настроить загрузку по FTP c этого сервера, выкачать себе файлы, решать 450 страниц задач от СЕО, а вечером руководство говорит, что заказчик ушел — не договорились о ценах.
В этой цепочки нет времени на изучение проекта, граммотное понимание что нужно выкачать себе (иногда директория называется src а в ней прошлый программист сохранил 22 архива сайта общим весом в 40 гигов).
Поэтому для меня в этом плане VSCode — просто палочка выручалочка. Я подключился по ssh, поработал с файлами напрямую на сервере и все ок. Проект ушел я просто настройки сервера удалил и все.
02 ноября 2021, 19:01
0
Иван, не могли бы вы на своем сайте сделать возможность авторизации не только через github?
На сайте много полезной информации и я думаю и вам было бы лучше, если комментарии писались там, но вынужден признаться, в 2021 году я все еще не вижу необходимости для «одинокого разработчика» в использовании git как контроля версий и github как хранилища. Но я бы с удовольствием что то коментил, используя гугл аккаунт, или просто логин пароль.
02 ноября 2021, 18:15
0
У меня вопрос про бонусный параграф, использование composer.
А зачем composer у что-либо знать о пакете minishop? Что дает указание блока repositories в composer.json?
Мы выполним composer install и установится minishop? Так вроде бы нет.
Почему composer.json в папке scripts?
Я опишу то как я бы использовал composer, а вы если есть желание, скажите в чем ошибки.
Я бы создал в корне composer.json, заполнил его require, выполнил install
У нас была бы папка vendor. В корневом index.php выполнил бы подключение autoload.php
После этого во всех сниппетах должны быть доступны подключенные библиотеки. Или я не прав?
02 ноября 2021, 17:40
0
Конечно, это дело привычки.
Но vscode развивается так быстро, что я почти уверен — он умеет делать все что вам нужно, необходимо только это найти и настроить.
Он, к примеру умеет не только подключиться к удаленному серверу, но даже «войти» внутрь запущенных там докер контейнеров. Или нативно работать с подсистемой WSL2 в винде, дебажить javascript, php, python, typescript, c++ и кучу другого. Точно так же имеет интерфейс для показа всех TODOшек как и phpStorm и так далее. И да, запускается за 1,5 секунды)
И вот кстати не знаю, в phpStorm уже завезли синхронизацию настроек? Лично я очень доволен и пользуюсь такой фишкой в vscode. Все настройки редактора (от визуала, до тонких настроек, всех установленных дополнений) переносятся от программы к другой программе за 5 сек. Я часто переустанавливаю свою операционную систему, пробую разные варианты линукса и не страдаю. В любой операционке нужно 3 минуты чтобы установить редактор и еще 3 минуты, чтобы редактор подтянул мои настройки и применил. За 6 минут у меня снова мой настроенный редактор.
02 ноября 2021, 17:25
0
А я очень полюбил работать с VSCode после того, как туда добавили полноценную работу через SSH.
Очень раздражало в phpstorm необходимость настраивать этот автоматический деплой, выкачивать файлы к себе локально.
VSCode может подключиться к серверу по ssh, что решает следующие проблемы
— редактор запускается на сервере, на вашем локальном компьютере вы видите лишь внешний интерфейс
— сохранение файла сразу сохраняет его на сервере, нет никаких сохранил локально, передал на сервер
— терминал в редакторе это теперь терминал сервера, то есть вы работаете не с локальным интерпретатором php, а с серверным
— не нужно выкачивать иногда гигабайты файлов с работающего сайта себе на компьютер
— поскольку мы теперь на сервере, нам доступно прямое подключение к базе данных. Это тоже частенько доставляло проблем, поскольку почти все базы данных закрыты от удаленного подключения. Теперь же в терминале нам доступна база без проблем, а плюс есть дополнения для визуальной работы
— при запуске на сервере vscode устанавливает там не только себя, но и набор дополнений какие нам нужны. К примеру если тут мы работаем с python и redis то просто подключившись через редактор к этому серверу у нас сразу будут настроены линтеры питона и прочее. Отключились и подключились к другому серверу, на котором работаем с php — у нас запустился анализ кода для php, генерация гетеров сеттеров, авто подключение классов и прочие прелести.