Как сделать что бы все страницы www.example.com/sort/* приходили как параметры в конкретный файл.
Напр
www.example.com/sort/age:26/
www.example.com/sort/age:26-35/
www.example.com/sort/age:26-35/height:165-185/
www.example.com/sort/age:22/height:165-185/english/
www.example.com/sort/age:22/height:165-185/english/male/
Адрес каждого из примеров ведет в sort.php с масивом params, соотв.
Вопрос: Есть ли модуль который поможет это все реализовать, если нет то что читать что бы написать свой функционал. Спасибо
Комментарии
Если нужно не в sort.php, то см Forms API и реализуем hook_menu
В sort.php подгрузи ядро друпала и разбирай парамерты как душеньке угодно.
Подгрузка ядра у себя в скрипте:
<?php
require 'includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
?>
Разбор параметров:
http://api.drupal.org/api/function/arg
Вот только в arg() будет системный путь node/xxx, надо добавить ещё drupal_get_path_alias
интересное решение
Стандартное решение, когда влом писать свой модуль
Ну просто речь зашла про какой-то sort.php, я другого пути не увидел
Всем большое спасибо.
С частью разбора понял.
А как сделать что бы все ссылки типа www.example.com/sort/* редиректились в мой sort.php (или ещё куда-то).
Пока добился результата изменением index.php, но мне кажется что это достаточно кривой способ. Так что ищу методы по лучше)
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
$return = menu_execute_active_handler();
// my modification
$arg = arg();
if("models"==$arg[0]){
$return = menu_execute_active_handler(drupal_get_normal_path("models"));
print theme('page', $return);
}
// Menu status constants are integers; page content is a string.
elseif (is_int($return)) {
switch ($return) {
case MENU_NOT_FOUND:
drupal_not_found();
break;
case MENU_ACCESS_DENIED:
drupal_access_denied();
break;
case MENU_SITE_OFFLINE:
drupal_site_offline();
break;
}
}
elseif (isset($return)) {
// Print any value (including an empty string) except NULL or undefined:
print theme('page', $return);
}
drupal_page_footer();
Почему вы не хотите написать нормальный модуль?
2Химический:
Результат не стоит затраченного времени. Наверное когда мой общий уровень знаний друпала будет выше я под свои цели буду писать модули
Вы уже потратили времени больше чем на создание модуля