Всего 123 786 комментариев

Ivan
14 ноября 2023, 13:45
0
Добрый день. Возможно для кого-то это глупый вопрос, но не могли бы вы сказать как вообще из IDE работать в MODX? Если у нас все элементы привязаны к БД. То есть получается что бы мне создать чанк и он был файловый мне нужно создать чанк в админке а далее поставить галочку Статичный файл и дальше уже создать этот файл и в нем работать, при чем в БД все равно будет запись об этом чанке. Это же капец какой маразм и не удобно.
Может есть какой-то логичный нормальный способ?
Если не сложно дайте статью или хотя бы немного объясните.
Спасибо
Дима Касаткин
14 ноября 2023, 13:30
+1
(главное не скачивать все подряд плагины)
Ну точно джунгли этот VSCode :) В скачивании плагинов подстерегает опасность?))

Я к PhpStorm пришел после Dreamviewer и NetBeans. Редакторы по типу Sublime, Notepad++ или Atom (из которого вырос VSC) всегда казались блокнотами с доп. функционалом, на фоне этих мощных IDE.

То, как вырос VSC конечно впечатляет (и как он обогнал популярнейший когда-то Sublime), но стоит ли идти на него из «другой лиги» IDE, вопрос открытый конечно…
Алексей Соин
14 ноября 2023, 13:27
+2
В vscode синхронизация учетки через github есть. Все расширения, сниппеты, настройки сохраняются. Раньше приходилось переносить либо сохраняя всё в файлах, либо через специальный плагин, но к счастью теперь стало намного проще)))

я пользуюсь как vscode, так и phpstorm, мне оба этих инструмента нравятся)
Andrew
14 ноября 2023, 13:06
+1
Да vsCode разок под себя настроить (главное не скачивать все подряд плагины), и настройки на гит засинхронить, чтоб потом заново эту процедуру не проходить при переустановки ОС к примеру. И кайф)
Дима Касаткин
14 ноября 2023, 12:44
0
Спасибо за развернутый ответ!

Редактировать файлы на сервере… официальное расширение Remote-SSH… На сервере нужен только nodejs
Ну чтобы редактировать файлы, дополнять серверный софт что-то не хочется. Для любых других редакторов (да и того же VSC если не в проектном режиме использовать а просто файл удаленный открывать через WinSCP) хватает поддержки SFTP (Через SSH который)… Вроде на странице по ссылке Remote-SSH требование установленной nodejs не нашел, так что это обнадеживает!

Конечно, для человека, который использует PhpStorm без плагинов и расширений, не иначе как джунглями представляется VSC

В PhpStorm всё просто работает: подсвечивается, переходится по клику и автодополняется, бандлится и минифицируется и т.п., без необходимости даже открывать консоль, и уж тем более перебирать (нет, не изучать) бесконечные подборки плагинов в интернетах…

Но крутого расширения для MODX из этого поста, для PhpStorm пока нет, так что хватаем мачете и прыгаем в джунгли VSC, получивший второй шанс! :)
Andrew
14 ноября 2023, 12:23
0
Подскажите, как правильно настроить форматтер?)
Наумов Алексей
14 ноября 2023, 11:31
+1
Да, типа того… в целом можно и внутрь сниппета fmFiles в будущем засунуть проверку… хотя мне кажется случай использования SymLink в целом не самый частый
Andrei
14 ноября 2023, 11:26
0
Понял, вот как-то так получилось сделать, т.к. симлинк отдает в контенте id основной страницы:
{if $_modx->resource.id | resource:'class_key' == 'MODX\Revolution\modSymLink'}
        {$_modx->runSnippet('!fmFiles', [
            'tpl' => 'myTpl',
            'resource' => $_modx->resource.id | resource:'content'
        ])}
{else}
        {$_modx->runSnippet('!fmFiles', [
            'tpl' => 'myTpl',
            'resource' => $id
        ])}
{/if}
Артур Шевченко
14 ноября 2023, 11:22
1
+2
Ничто там непонятного? Вот был у тебя вызов
{'!AjaxForm' | snippet: [
'validate' => 'name:required,phone:required',
'successMessage' => 'Форма отправлена!',
'hooks' => 'email',
'emailTo' => 'some@email.ru',
'emailTpl' => 'defaultEmail',
'form' => 'defaultForm'
]}
Ты копируешь в файл core/components/sendit/presets/sendit.inc.php
return [
    'default' => [
        'validate' => 'name:required,phone:required',
        'successMessage' => 'Форма отправлена!',
        'hooks' => 'email',
        'emailTo' => 'some@email.ru',
        'emailTpl' => 'defaultEmail',
        ]
]
А вместо вызова сниппета вставляешь саму форму, которой добавляешь два атрибута data-si-form=«defaultForm», data-si-preset=«default». Всё форма работает. Согласен непривычно, но ничего сложного. Возможно стоит в доку добавить раздел Миграция с AjaxForm.

А по фильтрам, там SendIt идёт как зависимость, но сниппеты будут вызываться классическим способом)))
Константин Ильин
14 ноября 2023, 11:05
0
я как раз с намеком на SendIt))) для меня темный лес) ну и не желание вникать кончено же в непонятное)
Наумов Алексей
14 ноября 2023, 11:05
0
А если параметр resource если указать для сниппета fmFiles правильный (соответствующий основному ресурсу)?..
Andrei
14 ноября 2023, 10:49
0
Ок, если создать документ, а к нему — символическую ссылку, обоим ресурсам назначить один и тот же чанк, в чанке вызвать сниппет fmFiles, то в документе сниппет сработает и файлы будут отображаться, а в символической ссылке — нет.
Николай Савин
14 ноября 2023, 10:29
0
Просто и понятно — это обычно не об Артуре ))
Константин Ильин
14 ноября 2023, 10:11
0
Очень жду! на сайте 70к товаров — тормозит… еще и jquery тянет msearch2

тут выше говорится о вызове компонента, надеюсь будет все просто понятно и главное привычно(как все сниппеты модх) :)

наконец нашелся смельчак!)
Алексей Смирнов
14 ноября 2023, 10:04
+1
Напоминаю. Не упустите шанс купить со скидкой.
Наумов Алексей
14 ноября 2023, 10:00
0
Хоть по подробнее как-то… если хотите улучшения. Я этот сценарий не использую в своей работе.
Сергей Шлоков
14 ноября 2023, 07:39
+4
Но тут есть важный аспект — развиваться как фрилансер или как наемный работник. Прокачаться полноценно можно только в более менее развитой компании с современной инфраструктурой. Это моё личное мнение. Изучить Spiral в качестве повышения скила будет полезно, но применить его (фреймворк) в компании вряд ли получится. Ибо я как техлид не взял бы этот инструмент из-за одной простой причины — очень сложно найти разработчиков под него и усложняет дальнейшую поддержку. Да и как заказчик не стал бы заказывать свой проект у фрилансера на Spiral. Именно по той же причине — проблемы в дальнейшей поддержке. Хотя я этот фреймворк пробовал и мне он понравился. Но с практической точки зрения ему нет применения.
Поэтому я бы советовал смотреть вакансии в интересных компаниях и прокачивал бы соответствующие скилы.
Это чисто моё мнение.
Алексей Суслов
14 ноября 2023, 01:36
0
Большое спасибо за ваш вклад в развитие экосистемы модикс!
Алексей Соин
13 ноября 2023, 22:20
+6
Чтобы редактировать файлы на удалённом сервере не нужно придумывать синхронизацию по сохранению, в vscode есть официальное расширение Remote-SSH. Прочитать как всё настроить можно тут. На сервере нужен только nodejs, например, у хостинга бегет можно без проблем так править файлы на сервере, у них в доке есть инструкция по настройке.

Также насчёт настройки проекта, если над сайтом работает команда разработчиков, то хорошим подходом будет чтобы настройки среды были у всех одинаковые. Для этого в корне проекта, куда подключаемся(либо открываем папку через vscode) нужно добавить папку .vscode в которую положить несколько json файлов:

settings.json
{
  "files.associations": {
    "*.tpl": "fenom"
  }
}

extensions.json
{
  "recommendations": [
    "EditorConfig.EditorConfig",
    "gulomov.vscode-modx",
  ]
}

Файл settings.json задаёт настройки среды, сюда можно указывает любые параметры vscode, д данном примере указываем использование fenom для tpl файлов.

Файл extensions.json нужен для указания рекомендуемых расширений, которые нужно поставить для текущего проекта. В данном примере указываем, что нужно установить расширение editorconfig и расширение для modx.

Также пробегусь кратко по нескольким расширениям которые я часто использую, но редко встречающихся в таких подборках:

Error Lens — расширение для более информативной подсветки предупреждений и ошибок в коде.

File Utils — добавляет в контекстное меню дополнительные возможности для работы с файлами.

Path Intellisense — подсказка путей для файлов.

Thunder Client — postman на минималках.

Turbo Console Log — быстрое добавление console.log в коде.

PHP Tools — отличный пакет при работе с php. Подсказывает методы, классы, ошибки в коде и т.д.
Fi1osof
13 ноября 2023, 19:15
+2
Ух, где же Вы, Николай Ланец, вас в этом обсуждении очень не хватает :)
Честно сказать, неочень хочется обсуждать все это, потому что верно сказано: сколько людей, столько и мнений. И выше человек тоже реальные примеры приводит с тем, как все это быстро меняется, и я во многом согласен. Но я бы сказал иначе: все это совсременное не только лишь для всех, а точнее для тех, у кого очень много денег, потому что маркетинг требует и делать это надо, но все это сложно и как правило команда нужна. Я работаю в таком проекте, и да, все сложно, и на все это есть деньги. А не делать это нельзя, потому что «мы так хотим». Но могу точно сказать: все то, что мы делаем, на старых технологиях это просто не сделать (я бы именно сказал, что никак). Так что мы в той точке развития, когда назад уже не пойти и остается только ждать когда все это устаканится и будут выработаны best practices.