我正在编写一个进程来保存在cakephp中我的视图中jquery发生的操作。我想一个简单的方法来加载保存的值,例如DIV的宽度和高度,就是要有cakephp在css文件中回显一个变量作为它们的宽度/高度,就像它在视图文件中做的那样。我想我不确定在哪里查找信息,如果它在cakephp食谱我猜测我错过了它,因为我不知道如何在那里做任何建议。感谢任何建议。
答案 0 :(得分:3)
这实际上非常简单(而且功能强大),并且可以在没有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文件中使用$_GET
变量。看一下上面的链接标签。要在css文件中访问这些变量,您可以执行以下操作:
.class {color:<?php echo $_GET['c']; ?>;font-weight:<?php echo $_GET['fw']; ?>;}
更新:在查看您发布的有关CakePHP HTML Helper的链接后,我意识到如果您打算将大量变量传递给css文件,有更好的方法。< / p>
创建一个名为DynamicStyle和DynamicStylesController(或类似的东西)的新模型和控制器。然后,创建一个名为css.ctp的新布局文件,该控制器的所有视图都将使用该文件。在该布局文件中声明content-type header语句。
最后一步是从标准布局标题的头部链接到该控制器中的方法。
现在你可以创建一个css规则的数据库表,并在css视图中使用那些带有HTML帮助器的表。
答案 1 :(得分:2)