Всего 123 801 комментарий

Stepan
18 апреля 2024, 17:01
0
попробуйте убрать
exit(true);
Наумов Алексей
18 апреля 2024, 11:28
0
$_modx->resource['tv-name']
Или в чанках где-то внутри pdoResources
$_pls['tv-name']
но лучше избегать дефис в названиях TV. Дефис нельзя использовать в названиях переменных в php, из-за этого возникают трудности в Fenom. Замените на подчеркивание.
vit
vit
18 апреля 2024, 00:47
0
{$_modx->resource.tv-name} выводит текущий tv текущего
{6 | resource:'tv-name'} выводит значение tv ресурса Id которого 6
Как я понимаю это вам нужно.
Андрей
18 апреля 2024, 00:03
0
К сожалению не помогло, не хотелось совмещать старый синтаксис с fenom, но видимо придется: с
Артур Шевченко
17 апреля 2024, 23:47
0
{$_pls['tv-name']} или {'tv-name' | placeholder}
Андрей Степаненко
17 апреля 2024, 19:12
+1
С расположение пакетов это одна из проблем которую на мой взгляд нормально не решишь, всегда на измене что то то можешь затереть
По этому и придумал схему с :ro который защищает файл в Extras
Хоть сколько раз переустанавливай свой пакет
Если нужен собранный пакет то он будет в target в сборке с docker
Артур Шевченко
17 апреля 2024, 19:04
0
Попробуй так
{if $options}
<h2>Заголовок:</h2>
<p>
    {foreach $options as $option}
        {if $option.value == 1}
            {$option.caption},
        {/if}
    {/foreach}
   </p>
{/if}
Наумов Алексей
17 апреля 2024, 18:35
+1
Я всегда делаю так:
В корневой директории сайта
/home/user/data/www/modx.test.ru/
создаю папкуgo
Extras/Scheduler/
и уже в нее кидаю содержимое репозитория.

Этот подход предлагает modExtra (см. readme) github.com/modx-pro/modExtra

Конечно и другие подходы есть к разработке, но я предпочитаю этот)
Дима Касаткин
17 апреля 2024, 18:16
0
Это путь от корня на сервере?
Вот я форкнул один из пакетов, хочу подправить код и собрать новую версию для теста. Предполагается что я всё это заливаю в корень установленного MODX. Папка _build сразу содержит установочные скрипты, из-за чего я не могу использовать готовую установку MODX, где поддерживаю другие пакеты.

Вот этот путь /Extras/ModxExtraName/ откуда берется? Корень / перед /Extras/ где смонтирован? У меня это примерно так на хостинге /home/user/data/www/modx.test.ru/ и вот отсюда уже идут ...modx.test.ru/_build/ и так далее.
Наумов Алексей
17 апреля 2024, 16:35
0
Когда идет разработка, то обычно исходники пакета лежат примерно по такому пути:
/Extras/ModxExtraName/
поэтому не совсем понимаю, зачем еще 1 уровень вложенности добавлять.
Андрей Степаненко
17 апреля 2024, 10:08
+1
Последние попытки запуска как раз и были связаны с WSL, Docker завершался с ошибкой и все.

Для отключения WSL
C:\Users\\AppData\Roaming\Docker\settings.json
«wslEngineEnabled»: false

И после этого docker запуститься. Ура)
Андрей Степаненко
17 апреля 2024, 09:51
+1
Windows 11 еще один вариант)

Николай Савин
17 апреля 2024, 09:41
+1
Исходники открою ага. В общественный репозиторий пока не переношу.
Василий Наумкин
17 апреля 2024, 09:27
+1
windows — страшная тема для docker) кто смог настроить docker под window, респект
Давно использую на Windows 11, через родной Hyper-V.



Заморочки видимо с WSL, попробуй без него на досуге.
Андрей Степаненко
17 апреля 2024, 06:19
+1
windows — страшная тема для docker) кто смог настроить docker под window, респект

Папка с build в 3 категории попадает

volumes:
    - "./Extras:/var/www/html/Extras"
    # Package
    - "./Extras/${PACKAGE_NAME}/core/components/${PACKAGE_NAME}:/var/www/html/core/components/${PACKAGE_NAME}:ro"
    - "./Extras/${PACKAGE_NAME}/assets/components/${PACKAGE_NAME}:/var/www/html/public/assets/components/${PACKAGE_NAME}:ro"
Директория для хранения самого пакета
/var/www/html/Extras

В нее затем уже с помощью команд обращаешься
#######################
# Extras package
#######################
package-build:
	docker compose exec app bash -c "export PACKAGE_DEPLOY=False && php Extras/${PACKAGE_NAME}/_build/build.php"

package-install:
	docker compose exec app bash -c "php ./docker/app/scripts/checking-add-ons.php"
	@make cache-clear

package-build-deploy:
	docker compose exec app bash -c "export PACKAGE_DEPLOY=True && php Extras/${PACKAGE_NAME}/_build/build.php"

package-target-clear:
	docker compose exec app bash -c 'rm -rf target/*'

package-deploy:
	@make package-target-clear
	@make package-build
	@make package-build-deploy

Volume core и assets

# Package
    - "./Extras/${PACKAGE_NAME}/core/components/${PACKAGE_NAME}:/var/www/html/core/components/${PACKAGE_NAME}:ro"
    - "./Extras/${PACKAGE_NAME}/assets/components/${PACKAGE_NAME}:/var/www/html/public/assets/components/${PACKAGE_NAME}:ro"
Эти volume прокидываются чтобы можно было редактировать код из Extras/${PACKAGE_NAME}
Wassi Wassinen
17 апреля 2024, 03:30
0
В таком формате для одной формы будет работать (если вставить в чанк формы)?

<script>
document.addEventListener('fetchit:success', (e) => {
  const { form } = e.detail;

  if (form.getAttribute('id') === 'main_form') {
      
    yaCounter96827878.reachGoal('course_main_form');

    
  }
});  
</script>
Wassi Wassinen
17 апреля 2024, 03:28
0
Было бы здорово, в таком формате (полный код для вставки в шаблон\чанк), показать это в документации. Наверное, это одна из самых частых задач для новичков. :)
Дима Касаткин
17 апреля 2024, 01:07
+2
А вообще, есть предложение ко всем, кто собирает MODX-пакеты!

Давайте в билдерах в папку ./_build/ вкладывать ещё подпапку с названием пакета
Сейчас структура папок:
./_build/build.config.php
./_build/…
./core/components/ModxExtraName/…
./assets/components/ModxExtraName/…

Предлагаю делать так:
./_build/ModxExtraName/build.config.php
./_build/ModxExtraName/…
./core/components/ModxExtraName/…
./assets/components/ModxExtraName/…

Это позволит не вычищать каждый раз _build перезаливкой другого пакета. Ведь организовать подпапку — это логично и красиво.

И даже не обязательно использовать modx-build-environment-gui, он просто сканирует папку _build, парсит версии для сборки и даёт список ссылок (гордо именуемый тем самым GUI), чтобы поменьше клавиатуру пальцами полировать :) но сам ничего больше и не делает. Даже ссылку на скачивание собранного транспортника уже выдаёт билдер самого пакета, если поддерживает согласно инструкции…

В общем так или иначе, круто что наконец мы добрались улучшать Developer Expierence! Чем проще создавать и поддерживать компоненты, тем лучше для экосистемы, и для сайтов, которые на поддержке, и для наших нервов ;)

P.S. Может перенести в заметки и раскрыть тему, есть желающие? Ставьте лайк, если интересно :)
Дима Касаткин
17 апреля 2024, 01:03
+1
Так и я не сравниваю, ты ведь в своём решении в Докер-ом предлагаешь вообще типа в режиме одноразовой копии запускать движок MODX для работы с пакетом, а файлы во внешней среде хранить как я понял. Это здорово! Но одно другому не мешает =)

Ну это к слову… А теперь к твоей теме: я сам на windows работаю, и докер локально не использую, но изучаю тему и поюзываю на серверах (как минимум потому что иногда другого не предлагается...). И вот читаю конфиги твои и есть вопрос: а почему ты не монтируешь в локальную папку директорию _build? Тебе же не только правки в код вносить, но и собрать надо пакет, или другой у тебя workflow?