Как получить все пути в установке drupal - PullRequest
3 голосов
/ 22 марта 2010

Мне нужно написать модуль, который даст мне страницу со всеми возможными путями в установке drupal, включая потерянные страницы. (карта сайта не будет работать для этого).

Я могу запросить в таблице url_alias псевдонимы, и я могу запросить в таблице menu_router все пути, даже те, которые установлены в page / feed, отображаются в представлениях. Но пути переменных (с аргументами) интерпретируются во время выполнения.

Итак, есть ли способ получить все возможные пути в установке drupal, включая динамические пути и сирот? Это ловить22. Я должен знать все URL-адреса заранее, чтобы получить их.

Ответы [ 3 ]

2 голосов
/ 23 марта 2010

Таким образом, вы можете определенно получить все возможные пути в drupal, запросив таблицу url_alias (которая дает вам все псевдонимы) и menu_router, который, кроме того, даст вам пути, заданные отображениями страниц или каналов. Проблема остается в том, что вы не можете заполнить переменные в путях переменных в таблице menu_router. В каждом случае вы должны знать, какими могут быть переменные, поскольку Drupal заполняет их во время выполнения.

Так что моя проблема в подвохе22. Вы должны каким-то образом посещать все пути, чтобы получить их, но вы не можете программно посещать их (или сканировать их), если не знаете, какие они заранее.

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

Вы можете проверить функцию menu_edit_validate () , чтобы увидеть, как drupal проверяет, имеет ли ссылка для нового пункта меню правильный путь.

Я не думаю, что можно получить список всех возможных путей, в том числе со значениями переменных в нем. Суть такого динамического пути заключается в том, что он может принимать несколько значений. Конечно, вы могли бы перебирать пункты меню и, когда вы сталкиваетесь с узлом /% node / edit, добавлять новый элемент в список для каждого идентификатора узла в вашей базе данных. Однако я не понимаю, как это может быть полезно для чего-либо ....

Можете ли вы объяснить, какую проблему вы пытаетесь решить? Может быть, мы поможем вам найти еще лучшее решение.

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

Все возможные пути в самом Drupal?В таблице menu_links все это должно быть указано как зарегистрированные пути в системе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...