Cakephp, динамически записывать переменные в файл CSS при загрузке просмотра? - PullRequest
2 голосов
/ 20 июля 2010

Я работаю над процессом сохранения действий, которые происходят из jquery в моем представлении в cakephp. Я полагаю, что простым способом загрузить сохраненные значения, такие как ширина и высота для DIV, было бы иметь cakephp. выведите переменную как их ширину / высоту в файле css, примерно так же, как это сделало бы это в файле представления .. Я думаю, я не уверен, где именно искать информацию об этом, если она находится в кулинарной книге cakephp. думаю, я скучаю по этому, потому что я не вижу, как это сделать там ... любой совет приветствуется.

Ответы [ 2 ]

3 голосов
/ 20 июля 2010

Это на самом деле довольно легко (и мощно), и может быть сделано без помощи CakePHP.

Сначала создайте новый файл в вашем корне с именем 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" />  

УТОЧНЕНИЕ: Чтобы получить доступ к переменным, указанным выше, вы должны использовать переменную $_GET в файле CSS.Посмотрите на ссылку выше тега.Чтобы получить доступ к этим переменным в файле css, вы должны сделать что-то вроде этого:

.class {color:<?php echo $_GET['c']; ?>;font-weight:<?php echo $_GET['fw']; ?>;}

ОБНОВЛЕНИЕ: После просмотра ссылки, которую вы разместили о CakePHP HTML Helper, я понял, что естьлучший способ сделать это, если вы собираетесь передать много переменных в файл css.

Создать новую модель и контроллер с именами DynamicStyle и DynamicStylesController (или что-то подобное).Затем создайте новый файл макета css.ctp, который будут использовать все представления этого контроллера.Объявите оператор заголовка типа содержимого в этом файле макета.

Последним шагом будет ссылка на метод в этом контроллере из заголовка стандартного заголовка макета.

Теперь вы можете сделатьтаблицу базы данных правил css и используйте их с помощником HTML в представлении css.

2 голосов
/ 21 июля 2010

Я только что понял, что в CakePHP тоже есть для этого кое-что:

http://book.cakephp.org/view/1440/style

Так что это может пригодиться всем, кто сталкивается с этим в будущем

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...