Смешивание статических строк с аргументами представлений - PullRequest
1 голос
/ 24 марта 2010

Может кто-нибудь сказать мне, возможно ли смешивать аргументы представлений со статическими строками?

Например, в разделе пути отображения канала просмотра мне нужно:

/ mypath /%. XML

со статической строкой ".xml".

Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 26 марта 2010

Я наконец понял.

При проверке выберите код PHP. Затем я ввел:

    // strip ".xml" from incoming 
    $new_arg = preg_replace('/\.xml$/', '', $argument ); argument
    $handler->argument = $new_arg;
    return TRUE; //must return something

Это работает. Теперь Drupal отправляет «foo» в запрос SQL, даже если входящий аргумент через URL-адрес «foo.xml»

0 голосов
/ 25 марта 2010

В любом случае, в path вы должны установить path /%
Но вы можете проверить аргумент% .xml в проверочном коде:
В окне добавления / редактирования аргументов просмотров:
Параметры валидатора - Validator - код PHP:

Введите код PHP, который возвращает TRUE или FALSE. Нет возврата - это то же самое, что и FALSE, поэтому НЕОБХОДИМО вернуть что-то, если вы не хотите объявлять аргумент недействительным Не использовать . Аргументом для проверки будет «$ аргумент», а представлением будет «$ view». Вы можете изменить аргумент, установив «$ handler-> arguments».

Используйте strpos , чтобы проверить, есть ли строка xml. Также вы можете изменить аргумент, как написано в комментарии: $ handler-> arguments

0 голосов
/ 24 марта 2010

Я только что проверил это, и вы не можете сделать точный путь, который вы опубликовали выше. Представления, по-видимому, распознают «%» в качестве заполнителя аргумента только в том случае, если он находится между косыми чертами или сам по себе в конце. Итак, что будет работать, примерно так:

/ mypath /% / rss.xml

или

/ mypath / статический /%

...