Вопрос от новичка по скриптам+modx

Добрый день! Собственно хочу сделать поддомен с погодой, скрипт вроде нашел maarkus.ru/prognoz-pogody-dlya-sajta-cherez-api-yandeksa/ Но там он состоит из 2 файлов weather и index. То есть скрипт который в индексе, вызывает скрипт который weather. Как это реализовать в модексе? Создать сниппет со скриптом который в index, а файл weather просто закинуть в какую нибудь папку? И сразу доп вопрос, куда вставлять java script если чанки — HTML, а сниппеты — php?

Comments

javascript - в html.

В index-файле вызвать сниппет с названием, допустим [[!weather]] Создать вышеописанный сниппет в админке и вставить в него php-код страницы weather

В шаблон страницы, где нужно отображать ваш скрипт погоды. Т.е. создаете страницу в Modx, присваиваете ему шаблон, допустим, "Страница с погодой", а в самом шаблоне оформляете желаемый хмтл код (head, body, div, ...) и в том месте, где необходимо вывести погоду пишете [[!weather]] - или любое другое название сниппета, в который вы вставите код со страницы weather.

  1. создай страничку и назови pogoda
  2. преходи на редактирования вновь созданной страницы pogoda
  3. выбираем шаблон BaseTemplate на вкладке Документ, сохраняем документ
  4. выбираем в панели слева выбираем вкладку Элементы, находим там шаблон BaseTemplate
  5. в самом шаблоне находим поле Код шаблона (html): туда и вставляем код для index, и туда же можно вставить сниппет как указали выше допустим [[!weather]]

Я наверное не могу понять или вы не так поняли. В файле index - php код и в файле weather php код.

Я так понимаю php код работает только в сниппете же?

ну вообще то, можно установить пакет phptemlate автор Николай Ланец, и в шаблоне использовать php

Не знаю, нужно ли еще что-то писать, но вообще есть смысл разобраться с тем, как работает данный скрипт и вообще php. Можно просто функции погуглить в документации.

require_once 'weather.php' ;

Меняем require_once 'weather.php' ; на то, что в weather.php без <php и ?> - и так вы сделаете "из 2 файлов кода в один". Только в modx так не принято

<?php foreach ($out as $key => $value) { ?>

<?php echo $value['day']; ?>.<?php echo $value['month']; ?>.<?php echo $value['year']; ?>,  <?php echo $value['day_of_week']; ?>  

<?php foreach ($value['weather'] as $key1 => $value1) { ?>

<?php echo $value1['time_of_day']; ?>

?

<?php echo $value1['temp_from'] ; ?> ... <?php echo $value1['temp_to'] ; ?>

<?php } ?>

<?php } ?>

Есть всякие удобные функции А phptemlate явно не для тех, кто не разбирается как из двух файлов сделать один.