Вопрос по MODX - подскажите, плз, кто разбирается в данной CMS

regta
На сайте с 15.04.2006
Offline
305
431
Здравствуйте

Суть такая. Есть некоторые страницы, условно,
page1.html
page2.html
.... несколько штук

Мне нужно добавить параметры
?color=red
?color=blue
.... несколько штук

page1.html?color=red - все то же самое, что и page1.html , но  добавкой 2-3 уник.полей
page2.html?color=red - все то же самое, что и page2.html , но  добавкой 2-3 уник.полей (содержимое другое, чем для page1.html?color=red)

Как я понимаю проблему:
Управление элементами - параметры. Создать параметр "color"
Внедрить этот параметр в шаблон - [*color*]

Но? Как мне задать уникальное значение для [*color*] в зависимости - это page1.html или page2.html ?

------
Заранее извиняюсь за сумбур, в MODX я плохо понимаю... Буду признателен за любые подсказки по теме, как подобное реализовать. Причем подойдет самое простое решение, оно нужно для весьма ограниченного списка страниц и наборов параметров.
Вот есть page1.html
Вот есть page1.html?color=red , который отличается просто тем, что на странице в дополнении есть еще пару абзацев.

Спасибо
Цитируйте, плиз, историю переписки в личке. Спасибо.
edka
На сайте с 17.01.2010
Offline
208
#1
<?php

if (isset($_REQUEST['color'])){
        $color = $_REQUEST['color'];    
        if ($color == 'red') return 'red';
        if ($color == 'green') return 'green';
}

Можно создать новый сниппет (код выше), например назвать сниппет ReturnColor и туда вставить этот код.

В шаблоне вызывать сниппет  вот так:

[[!ReturnColor:is=`red`:then=`

тут выводиться блок для красного цвета

`]]


[[!ReturnColor:is=`green`:then=`

тут выводиться блок для зеленого цвета

`]]

Это самое простое решение.Плюсы: очень быстро сделать. Минусы, каждый цвет придется добавлять вручную в сниппет.

Я специально не стал в сниппете выводить напрямую значение из $_REQUEST, т.к.  это небезопасно

edka
На сайте с 17.01.2010
Offline
208
#2
А так такое делается обычно через MIGX, чтобы в админке нативно добавлять новые значение и другие параметры
regta
На сайте с 15.04.2006
Offline
305
#3
edka #:

Можно создать новый сниппет (код выше), например назвать сниппет ReturnColor и туда вставить этот код.

В шаблоне вызывать сниппет  вот так:

[[!ReturnColor:is=`red`:then=`

тут выводиться блок для красного цвета

`]]


[[!ReturnColor:is=`green`:then=`

тут выводиться блок для зеленого цвета

`]]

Это самое простое решение.Плюсы: очень быстро сделать. Минусы, каждый цвет придется добавлять вручную в сниппет.

Я специально не стал в сниппете выводить напрямую значение из $_REQUEST, т.к.  это небезопасно

Спасибо!!!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий