Не работает ссылка на локальную страницу либо скрипт в многоязычном сайте после переключения языка.

Главные вкладки

Аватар пользователя Flashback Flashback 3 апреля 2012 в 17:26

Всем привет!
На финальной стадии работы с сайтом столкнулся с серьезной проблемой, которую пока не могу обойти.
Для более простого восприятия упрощу её суть.

Итак, в корневой директории друпала я создал папку mypages , в которую складываю свои php-скрипты и html-страницы:
/www-drupal/mypages/*

Есть node1 в русской версии, в которой идёт include php-страницы, которая лежит в mypages:
node => include "mypages/page.php";

В тоже время, на page.php идет ссылка на ещё один php-файл в той же директории:
<strong><A HREF= "../mypages/script.php" >link</A></strong>

Таким образом, при нажатии на link, я попадаю на страницу
http://mysite/mypages/script.php
на которой выполняется мой скрипт.

Тут небольшой комментарий: page.php и script.php лежат в одной директории. Но если указать href="script.php",
то link будет отсылать http://mysite/node/app.php , что не соответствует правильному, поэтому ссылка указана в том виде что я представил

У меня многоязычный сайт, настроенный с помощью модулей Contetnt Translation, Menu Translation и
Language Icons. Для определения языка использыется префикс пути (для англ. языка - "en")
Нужно было создать ноду на английском языке с таким же контентом, что и нода выше.
Для этого была сделана английская версия этой ноды node2, в которую опять же инклюдится страница page.php

При переключении языка на английский я попадаю на node2 и вижу встроенную страницу page.php.
http://mysite/en/node/2
Но при нажатии на link
http://mysite/en/mypages/app.php
и получаю "Page not found", так как директории "en" не существует, mypages в ней также соответственно

нет. Ссылка получается нерабочей.

Может я вообще перемудрил? Как правильно организовывать вызов локальных скриптов из node?

Комментарии

Аватар пользователя Shok211 Shok211 3 апреля 2012 в 17:43

Ну точно не инклюдом. Быдлокод в действии... Почитайте мануал про создание модулей займет не больше 15 минут. ( drupal 7 создание модуля ) - спросите у гугла

Аватар пользователя Flashback Flashback 3 апреля 2012 в 18:17

на быдлокод не обижаюсь, так и есть. учусь потихоньку -)
можно чуть поподробнее что имеется ввиду - какой модуль нужно создавать?

Аватар пользователя Shok211 Shok211 3 апреля 2012 в 18:41

Создайте любой модуль запихните в него все свои скрипты и где нибудь в template.php добавляйте. Можно конечно и в хуках добавлять если вам проще

Аватар пользователя Flashback Flashback 4 апреля 2012 в 12:33

Посмотрел немного ваш вариант...
В моём случае это получается пушкой для воробья.
Так что пока поставил быдлокодерский костыль из трёх строчек, который решает проблему.
Будет более серьёзная необходимость - буду копать в сторону создания модуля.
В любом случае, спасибо.