Как выборочно удалить расширение .css из метода Html-›css в CakePHP?

Я динамически генерирую css из php-файла (custom2.php) и устанавливаю его тип содержимого на «text/css» для отображения css в представлении клиента. Этот php-файл находится в папке css внутри webroot. каталог. Он отлично работает, когда я загружаю его полным путем. Но когда я использую помощник Html для загрузки файла php. Он автоматически добавляет к нему расширение «.css». Из-за этого Apache не отображает php-файл и по умолчанию обрабатывает его как файл css.

Когда я загружаю его с полным путем (Это работает), вот так:

<link rel="stylesheet" href="/Project1/css/custom2.php" />

Но когда я загружаю его стандартным способом cakephp (Это не работает), вот так:

echo $this->Html-css("$mycss");  
/* It loads file after adding .css extension(custom2.php.css) which i don't want */

Я передаю php-файл из контроллера (индексное действие) следующим образом: -

$this->set('mycss','custom2.php');

Однако добавление расширения css является поведением помощника Html по умолчанию, и я хочу, чтобы оно оставалось таковым, за исключением случаев, когда я связываю какой-либо файл php. Есть ли какой-либо встроенный метод для отключения генерации расширения CSS в конкретной ситуации/условии?

PS: я хочу использовать стандартный метод cakephp для загрузки css, чтобы избежать проблем с неработающими ссылками с другим контроллером и представлением.


person Sumit Parakh    schedule 15.05.2017    source источник
comment
Вы не можете сделать это, используя $this->Html->css().   -  person Pradeep Singh    schedule 15.05.2017
comment
@AIPDTECH Как я могу это сделать?   -  person Sumit Parakh    schedule 15.05.2017


Ответы (1)


Вы можете использовать $this->webroot в качестве базового URL. Итак, в вашем случае

<link rel="stylesheet" href="<?php echo $this->webroot; ?>css/custom2.php" />

и если вы хотите полный URL, попробуйте это

<link rel="stylesheet" href="<?php echo Router::url('/', true); ?>css/custom2.php" />

person Pradeep Singh    schedule 15.05.2017