如何使用cakephp链接到页面上的特定点

时间:2014-10-20 22:58:11

标签: cakephp

我正在尝试在cakephp中找到指向另一个页面上特定位置的链接,但我想象的不会。

我正在使用

<a name="Telstra"></a>
<a href="/mysite/sponsors/index#Telstra">Telstra</a>

有谁能告诉我正确的方法?

5 个答案:

答案 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