【发布时间】:2011-01-14 23:36:09
【问题描述】:
一个新手问题....
我正在开发一个 Joomla 模板,在此我想从远程位置或本地加载资产(图像、JavaScript 和 CSS)。
我正在使用以下代码:
<?php
class MyclassName {
function CDNPath(){
return $this->getParam("cdn-path","templates/myTemplate/cdn");
}
}
?>
现在我想通过用户输入调用$cdn_path 的值。我能够获得路径,但它正在删除 '/' 标记。请看下面的例子:
CDN 的正确路径是http://mydomain.com/cdn
假设读作:
<link rel="stylesheet" href="/joomla/http://mydomain.com/cdn/css/template.css" type="text/css" media="screen" />
而它的读法是:
<link rel="stylesheet" href="/joomla/http:mydomain.comcdn/css/template.css" type="text/css" media="screen" />
这个joomla的分解是joomla的根目录,http://mydomain.com/cdn/是用户输入
两个挑战:
它正在从用户输入中删除所有
'/'字符。它将 Joomla Root
'joomla'添加到路径的开头。
我编码错了吗?如果是,那么正确的语法是什么。
如果您觉得比这更好,请随时提出任何新方法。
请帮忙。
【问题讨论】:
-
您是否尝试过对用户输入进行 url 编码?
-
嗨@Naatan 感谢您的帖子,但实际上我没有尝试这样做,因为我完全是编程新手并且不知道该怎么做。我还处于学习阶段。然而,我的问题还有第二个挑战,即在用户输入的开头添加 Joomla 的根目录。
-
@Naatan 还表示此变量将是通过
templateDetails.xml文件的用户输入。因此,用户可能无法输入编码的 URL。 -
输入内容如何在生成的 html 页面中结束?您将需要对此进行某种形式的控制。如果你不能,那么你可以在你的 joomla 目录的根目录中创建一个代理脚本,它将你的用户输入作为代理的 url。绝不是一个好的解决方案,但一个解决方案永远不会少。
-
嗯...我不确定。可能会有一些 Joomla 专家能够提供帮助。