我正在设计一个过程,将jquery中发生的操作保存在cakephp中的视图中。我认为加载保存的值(如DIV的宽度和高度)的一种简单方法是让cakephp在css文件中回显一个变量作为它们的宽度/高度,这与它在视图文件中执行此操作的方式非常相似。我想我不确定在哪里可以找到关于这方面的信息,如果它在cakephp食谱中,我想我错过了它,因为我不知道如何在那里做它。任何建议都是值得感谢的。
发布于 2010-07-20 09:45:52
这实际上非常简单(也很强大),并且可以在没有CakePHP的帮助下完成。
首先,在webroot中创建一个名为css.php
的新文件。在该文件的顶部放置以下内容:
<?php header("Content-Type: text/css"); ?>
现在,在布局的头部链接到这个文件,就像你链接一个普通的CSS文件一样。
<link rel="stylesheet" href="/path/css.php" type="text/css" />
现在就有了一个动态CSS文件。您可以像这样将信息传递给它:
<link rel="stylesheet" href="/path/css.php?c=red&fw=700" type="text/css" />
CSS要访问上面提到的变量,可以在CLARIFICATION:文件中使用$_GET
变量。看看上面的链接标签。要访问css文件中的这些变量,您可以执行如下操作:
.class {color:<?php echo $_GET['c']; ?>;font-weight:<?php echo $_GET['fw']; ?>;}
更新:在查看了您发布的关于css的链接后,我意识到如果您打算将大量变量传递给CakePHP文件,有一种更好的方法可以做到这一点。
创建一个名为DynamicStyle和DynamicStylesController (或类似的名称)的新模型和控制器。然后,创建一个名为css.ctp的新布局文件,此控制器的所有视图都将使用该布局文件。在该布局文件中声明content-type头语句。
最后一步是从标准布局标题的头部链接到控制器中的方法。
现在,您可以创建一个包含css规则的数据库表,并在css视图中通过HTML助手使用这些规则。
发布于 2010-07-21 13:46:51
我刚刚意识到CakePHP也有这个功能:
http://book.cakephp.org/view/1440/style
因此,这对将来遇到这个问题的任何人都很有用。
https://stackoverflow.com/questions/3286353
复制相似问题