2010-03-24 2 views
1

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

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

/mypath/%.xml

с «.xml» частью является статической строкой.

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

ответ

1

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

При проверке выберите код 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

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

/mypath/%/rss.xml

или

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

+0

Я этого боялся. Наши администраторы сервера не позволят /dir/index.xml – Aaron

+0

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

0

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

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

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

Смежные вопросы