Добрый день
Собственно хочу сделать поддомен с погодой, скрипт вроде нашел maarkus.ru/prognoz-pogody-dlya-sajta-cherez-api-yandeksa/
Но там он состоит из 2 файлов weather и index. То есть скрипт который в индексе, вызывает скрипт который weather.
Как это реализовать в модексе? Создать сниппет со скриптом который в index, а файл weather просто закинуть в какую нибудь папку?
И сразу доп вопрос, куда вставлять java script если чанки — HTML, а сниппеты — php?
javascript - в html.
В index-файле вызвать сниппет с названием, допустим [[!weather]]
Создать вышеописанный сниппет в админке и вставить в него php-код страницы weather
а код с файла index куда?
В шаблон страницы, где нужно отображать ваш скрипт погоды.
Т.е. создаете страницу в Modx, присваиваете ему шаблон, допустим, "Страница с погодой", а в самом шаблоне оформляете желаемый хмтл код (head, body, div, ...) и в том месте, где необходимо вывести погоду пишете [[!weather]] - или любое другое название сниппета, в который вы вставите код со страницы weather.
1) создай страничку и назови pogoda
2) преходи на редактирования вновь созданной страницы pogoda
3) выбираем шаблон BaseTemplate на вкладке
Документ
, сохраняем документ
4)выбираем в панели слева выбираем вкладку Элементы, находим там шаблон BaseTemplate
5) в самом шаблоне находим поле Код шаблона (html): туда и вставляем код для index, и туда же можно вставить сниппет как указали выше допустим [[!weather]]
Я наверное не могу понять или вы не так поняли. В файле index - php код и в файле weather php код.
Я так понимаю php код работает только в сниппете же?
Объедини их в единый сниппет?
Да, только в сниппете и плагинах.
Значит мне к знатокам php как из 2 файлов кода в один все сделать?
ну вообще то, можно установить пакет phptemlate автор Николай Ланец, и в шаблоне использовать php
Не знаю, нужно ли еще что-то писать, но вообще есть смысл разобраться с тем, как работает данный скрипт и вообще 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 явно не для тех, кто не разбирается как из двух файлов сделать один.
Египетская сила, заработало...