在CakePHP的body标签中定义ID是错误的吗?

时间:2011-12-20 06:03:53

标签: html cakephp

我正在开发一个项目,我在ID标记内定义<body>。对于不同的页面,我定义了不同的IDs,&amp;我总是遵循这个结构来完成我的所有项目。但是在CakePHP的新项目中,我的开发人员告诉我,我不应该在bodyPHP项目的body标签中使用ID

当我问他为什么时,他说,因为我们可以通过CakePHP生成ID

我对CakePHP了解不多,但我认为我们可以在CakePHP&amp ;;的body标签内定义ID。其他语言也是。

请提供一些链接或文章&amp;你的建议。

提前致谢:)

2 个答案:

答案 0 :(得分:1)

您可以在HTML标记中定义ID,这不是问题。但是从您的问题看,您似乎将id定义为body标签的属性?

你可以在body标签中定义id。但问题是在cakePHP你有布局通常包含你的视图的包装HTML,如页眉,页脚等。所以你不能手动为不同的页面手动定义身体标签内的静态ID,你可以,但那时你不会使用布局。 你的开发人员告诉你的是,我猜想使用(uuid)unique id是cakePHP为DOM元素生成唯一id的功能。

您可以在视图中通过uuid(string $object, mixed $url)功能生成ID。

要了解详情,请访问:http://book.cakephp.org/view/1091/uuid

答案 1 :(得分:0)

您可以动态地将类添加到布局中,如下所示:

<?php
$classes = String::insert(':plugin :controller :action', array(
    'plugin'     => $this->plugin,
    'controller' => strtolower($this->name),
    'action'     => $this->action,
));
?>
<div id="content" class="<?php echo trim($classes); ?>">
    <?php echo $content_for_layout; ?>
</div>

这将允许您命名CSS声明:

.blog.posts.view h2 {
    /* ... */
}

注意:IE6不能正确支持多个类的链接以选择单个元素,但如果您仍然支持它,则会有一些Javascript shims