因此,我使用Drupal作为CMS的网站上有一打网页。想知道如何设置/附加任何页面上的所有href链接与动态属性?jQuery/Drupal将字符串附加到网站上的所有HREF(任何页面)
所以这里是一个例子网址:
http://www.site.com/?q=node/4
,我想追加到URL,像这样:
http://www.site.com/?q=node/4&attr=1234
现在我网站上的导航栏,当我将鼠标悬停在链接我看到的URL,但我需要追加& attr = 1234字符串到它的末尾。该字符串是动态的,因此它可能会不时变化。
我在想,jQuery将是一个很好的选择,但Drupal是否也有其他功能?
现在我已经看过一些帖子对堆栈:
问题是我学习我周围的Drupal方式,并与jQuery的,但最小的经验两者都变得更好。我看到jQuery可以替换HREF,但看起来像硬编码HREF,jQuery可以找到页面上的所有HREF并将字符串附加到它上面吗? Drupal也有这个功能,最好的方法是什么?
也需要这个工作的干净或标准的URL格式,所以我认为Apache会处理这个,我只是想确保。
感谢所有帮助
编辑:
貌似普遍的共识是Drupal的应处理这种类型的请求。只是寻找最佳实施。简单的函数调用将是最好的,但我希望它动态地将其添加到所有现有的href的,因为我希望这是动态的,而不是硬编码任何url/href调用。所以我可以随时添加/删除页面,而无需重新配置/重新编码任何内容。
感谢尽管
编辑#2大窍门:
好吧,也许我要问的问题,拧。这是我需要的,为什么它还不适合我。
我需要在url中传递一个值,以改变站点的一些外观和感觉。我需要将它传递给页面上的每个href标签,但不会在用户注销或管理页面上传递。
我在我的模板代码中看到导航链接生成的位置,所以我虽然可以将属性数组中的代码作为第二个参数传递给函数,但这是设置标记属性而不是URL属性。
现在我看到底部的导航链接使用这个Drupal函数:menu.config中的menu_navigation_links(),但顶级导航使用自定义函数。
该模板中的函数。PHP脚本看起来是一个创建链接
function lplus($text, $path, $options = array()) {
global $language;
// Merge in defaults.
$options += array(
'attributes' => array(),
'html' => FALSE,
);
// Append active class.
if (($path == $_GET['q'] || ($path == '<front>' && drupal_is_front_page())) &&
(empty($options['language']) || $options['language']->language == $language->language)) {
if (isset($options['attributes']['class'])) {
$options['attributes']['class'] .= ' active';
}
else {
$options['attributes']['class'] = 'active';
}
}
// Remove all HTML and PHP tags from a tooltip. For best performance, we act only
// if a quick strpos() pre-check gave a suspicion (because strip_tags() is expensive).
if (isset($options['attributes']['title']) && strpos($options['attributes']['title'], '<') !== FALSE) {
$options['attributes']['title'] = strip_tags($options['attributes']['title']);
}
return '<a href="'. check_url(url($path, $options)) .'"'. drupal_attributes($options['attributes']) .'><b>'. ($options['html'] ? $text : check_plain($text)) .'</b></a>';
}
不知道如何将我需要的东西纳入此功能。
因此,在主页上的?q = node /缺少,如果我追加&符号会引发错误。
http://www.site.com/&attr=1234 // throws error
但如果我是国防部为正确的格式,它工作正常
http://www.site.com/?attr=1234
请参阅http://stackoverflow.com/questions/3929356/php-query-string-manipulation函数来操纵URL的查询字符串参数 – Petah 2010-10-18 19:32:01