Мне нужно что бы в блоке выводился урл текущей страницы сайта.
Поиск дал только информацию о переменной $_GET['q'], но вот как и с чем её применять?
Либо может я вообще не туда искал... поправьте или подскажите плз!
Атрибут FLASHVARS реализует эффективный способ импорта переменных в клип еще в процессе загрузки. Строка переменных в виде набора пар name=value передается в клип. В клипе соответствующие переменные создаются из полученной строки до начала проигрывания первого кадра.
Синтаксис: Пары name=value в строке переменных должны быть разделены символом амперсанда (&). Спецсимволы могут быть переданы как escape-последовательности (символ процента (%) и следующее за ним двузначное шестнадцатеричное число.) Одиночный пробел можно заменить символом плюса (+).
Атрибут FLASHVARS должен быть указан и в тэге OBJECT, и в тэге EMBED, для работы в разных броузерах. Поддерживается Flash Player 6 и выше. Все броузеры будут поддерживать передачу строк переменных длиной до 64КБ (65535 байт).
<EMBED src="display.swf" FLASHVARS="foo=Hello%20World¶graph=first+line%0Dsecond+line" ... (другие параметры)></EMBED>
Кодировка передаваемой строки переменных совпадает с кодировкой содержащей ее страницы. IE под Windows отвечает за поддержку строк, совместимых с кодировкой UTF-16. Аналогично, Netscape предоставит проигрывателю строку в кодировке UTF-8.
Скорее всего, Вам это надо
<?php print urlencode(url($_GET['q'])); ?>
Комментарии
echo $_GET['q'];
И ниче мудрить не надо..
ок, а как допустим заставить выводиться адрес страницы в виде ссылки?
<?php print(l('Сцылко', $_GET['q'])); ?>
--
спасибо! Neochief выручает!
а вот выводит этот код мне node/1 node/2 node/3 ... можно как то сделать так, что бы он выводил урл словами (стоит pathauto)?
Он должен выводить все как надо. У вас для тех страниц скорее всего просто нет алиасов.
да точно есть синонимы.. захожу на страницы вводя синонимы about contacts и пр. - но выводит node/1 node/
Оно не может глючить, у вас 100% где-то лопухи. Если подавать ему на вход строку 'node/%', где % — айдишка, оно должно работать.
да.. я что то не туда копаю..
<?php print url('node/', $_GET['q']); ?> - дошел до такой комбинации, но опять же ничего не выводится по человечески
<?php print url('node/'.$_GET['q']); ?>
Да Dope Skeeza прав, не выходит каменная чаша.
выводится только часть урл которая после названия сайта идет, и то без синонимов.
LOL
<?php print url($_GET['q']); ?>
Данкешон!
А где можно прочитать про подобные переменные в друпал?
api
neochief, спасибо! Так показывает синоним "/en/about" А как впереди добавить урл сайта?
<?php print url($_GET['q'], array('absolute'=>TRUE)); ?>
а что нужно поменять , что бы не выводился слеш / перед синонимом?
мне для flashvars нужно получить чистое имя страницы, без лишних символов.
[ru-api=drupal_get_path_alias]drupal_get_path_alias[/ru-api]
кхэм... я не знаю что там править что бы убрать слэш =(((
что то прям исключение на исключении...
В общем, сделал так (может и неправильно, но работает):
в template.php
$out = url($_GET['q'], array('absolute'=>TRUE));
return $out;
}
в node.tpl.php
<a href="<?php print show_constant_link(); ?>"><?php print show_constant_link(); ?></a>
<?php endif; ?>
eagle, не знаю почему вы все не скомпоновали, раз уже все заработало
<?php l(url($_GET['q'], array('absolute' => TRUE)), $_GET['q']); ?>
<?php endif; ?>
И почитайте доки на эти функции, чтобы не было вопросов почему работает/не работает.
Dope Skeeza, мой предыдущий коммент был вам.
да, но я не могу дойти, как мне испрвить этот код
<?php
function drupal_get_path_alias($path, $path_language = '') {
$result = $path;
if ($alias = drupal_lookup_path('alias', $path, $path_language)) {
$result = $alias;
}
return $result;
}
?>
так что бы убрался слеш так не получилось
<?php
$myalias = substr( drupal_get_path_alias($mypath), 1 );
?>
эм... че то не выводит вообще ничего
Потому что я еще только учусь, при наличии свободного времени.
Спасибо за подсказки!
Вам не нужно его исправлять, а просто напросто использовать
отблагодарю wmr за строчку кода, который выведет название страницы без слеша!
Это как? Пример пожалуйста.
вот: http://www.drupal.ru/node/25651
никто почему то не хочет ничего говорить!
Атрибут FLASHVARS реализует эффективный способ импорта переменных в клип еще в процессе загрузки. Строка переменных в виде набора пар name=value передается в клип. В клипе соответствующие переменные создаются из полученной строки до начала проигрывания первого кадра.
Синтаксис: Пары name=value в строке переменных должны быть разделены символом амперсанда (&). Спецсимволы могут быть переданы как escape-последовательности (символ процента (%) и следующее за ним двузначное шестнадцатеричное число.) Одиночный пробел можно заменить символом плюса (+).
Атрибут FLASHVARS должен быть указан и в тэге OBJECT, и в тэге EMBED, для работы в разных броузерах. Поддерживается Flash Player 6 и выше. Все броузеры будут поддерживать передачу строк переменных длиной до 64КБ (65535 байт).
<PARAM NAME=FLASHVARS VALUE="foo=Hello%20World¶graph=first+line%0Dsecond+line">
<EMBED src="display.swf" FLASHVARS="foo=Hello%20World¶graph=first+line%0Dsecond+line" ... (другие параметры)> </EMBED>
Кодировка передаваемой строки переменных совпадает с кодировкой содержащей ее страницы. IE под Windows отвечает за поддержку строк, совместимых с кодировкой UTF-16. Аналогично, Netscape предоставит проигрывателю строку в кодировке UTF-8.
Скорее всего, Вам это надо
<?php print urlencode(url($_GET['q'])); ?>
2beerman
url уже делает urlencode
Если нужно без слеша:
<?php print drupal_urlencode(drupal_get_path_alias($_GET['q'])); ?>
А вообще, флешки очень любят абсолютные пути, я на 90% уверен, что проблема в их отсутствии. Как их вывести было показано выше.
ну, или так
я немного короче вариант написал.