我正在尝试在cakephp中找到指向另一个页面上特定位置的链接,但我想象的不会。
我正在使用
<a name="Telstra"></a>
<a href="/mysite/sponsors/index#Telstra">Telstra</a>
有谁能告诉我正确的方法?
答案 0 :(得分:3)
您需要使用CakePHP的内置链接功能。尝试使用此代码。
<?php echo $this->Html->link('NameOfLink', array('controller' => 'ControllerName', 'action' => 'FunctionName/#Telstra')); ?>
答案 1 :(得分:2)
请参阅cakephp docs中的此网址:
http://book.cakephp.org/2.0/en/core-libraries/helpers/html.html#HtmlHelper::url
仅用于创建链接
echo $this->Html->url(array(
"controller" => "posts",
"action" => "search",
"#" => "first"
));
以及在您创建带锚标记的链接的情况下
echo $this->Html->link('Telestra',array(
"controller" => "sponsors",
"action" => "index",
"#" => "Telstra"
));
答案 2 :(得分:1)
如果要加载页面的特定部分,则必须在目标元素上使用ID而不是名称。
示例:
//Your target element on a page
<a name="Telstra"></a>
//URL that will redirect you to your target element.
<a href="/mysite/sponsors/index#Telstra">Telstra</a>
或者不妨将它编码为cakePhp风格。 :)
//URL
<?php echo $this->Html->link('Telstra', array('controller' => 'YourController', 'action' => 'YourFUnction', '#TargetElement'));
//Target Element
<a name="Telstra"></a>
祝你好运!
答案 3 :(得分:0)
您需要在配置/app/config/routes.php中添加一个路由:
Router::connect('/index', array('controller' => 'yourController', 'action' => 'index'));
或
Router::connect('/index/*', array('controller' => 'yourController', 'action' => 'index'));
答案 4 :(得分:-1)
我认为你要提出的参数是&#39; id&#39;而不是&#39; name&#39;我认为你可以把#idName放在整个链接上。
例如:
<a id="Telstra"></a>
<a href="#Telstra">Telstra</a>
有关详情,请点击此处查看:http://www.w3schools.com/html/html_links.asp