Имеется View, которому аргументами передаются термины таксономии 3 штуки
Например:
http://site/business/autoservices/region/city
http://site/business/region
http://site/business/region/city
http://site/investment/appartments/region/city
и т.д. по аналогии
где,
business и investment - начальные рубрикаторы, являющиеся терминами таксономии
autoservices и appartments - дочерние рубрикаторы от вышестоящих соответственно
region и city - тоже термины таксономии
View настроен и обрабатывает все пути правильно (т.е. любой термин таксономии является пользовательским фильтром, кроме
главных рубрикаторов, которые забиты вручную)
Необходимо вывести тизеры материалов, где должен быть рисунок, заголовок, "autoservice" - т.е. дочерний рубрикатор.,
и блок расположения объекта:
т.к. пути у меня специфические, написал для этого в php custom field следующее:
<?php
$sql = "SELECT tn.tid AS tid, t.name AS name FROM {term_data} t LEFT JOIN {term_node} tn ON t.tid = tn.tid INNER JOIN {node} n ON tn.nid = n.nid WHERE n.nid =%d ORDER BY tn.tid ";
$result = db_query($sql, $data->nid);
$terms = array();
$i = 0;
while ($term = db_fetch_object($result))
{
$terms[$i] = $term->name;
$i++;
}
print ("<a href='/business/" .strtolower($terms[0]). "/" .strtolower($terms[1]). "'>" .t($terms[1]). "</a>");
if ($terms[2]!="")
{
print (" ");
print ("<a href='/business/" .strtolower($terms[0]). "/" .strtolower($terms[1]). "/" .strtolower($terms[2]). "'>"
.t($terms[2]). "</a>");
}
?>
Этот код выберет для текущего материала все термины таксономии и упорядочит их.
Выведет в качестве ссылок (фильтра) на текущую дочернюю рубрику.
Все работает прекрасно, за исключением того что стоит i18n, и для английского языка все обрабатывается прекрасно,
но на русском языке ссылки все-равно ведут на английские адреса.
Вопрос: Правильно ли я вывожу ссылки? Есть ли какая функция, которая заставит i18n обрабатывать мои ссылки и подставлять в адреса языковой префикс?
И сразу второй вопрос, чтобы не плодить темы: Есть ли модуль для Views, который бы позволял вручную вводить запрос.
Маштабируемости Views недостаточно для необычных запросов.
Ну или как расширить Views таким образом, чтобы в качестве аргумента я мог ввести свое поле, например Node->path, но сделать ему реврайт, убрать языковой префикс, изменить "_" на пробелы и сделать первую букву большой. Т.е. сделать обратное преобразование от "pathauto" к заголовку материала.
Если знаете решение плиз помогите, или подтолкните в нужном направлении
Комментарии
например i18ntaxonomy_term_get_translations(
см i18ntaxonomy.module
Все гораздо проще )
url();
А вот второй вопрос актуальный.
Может скажу проще,
нужно заставить модуль Views выводить конкретную ноду по адресу:
http://site/category_name/node_title
где, node_title - преобразованный заголовок ноды на английском языке, нижний регистр и пробел на "_";
соответственно: http://site/ru/category_name/node_title
node_title - тот же самый
создал View:Page по адресу category_name
вот, думаю что теперь добавить в аргументы, чтобы отлавливалась моя нода.
есть у друпала еще функция l();, которая формирует пути )
на второй вопрос ответ PHP Validator