в ATK4, как мне использовать шаблон для создания типа файла, отличного от html?

#php #css #templates #frameworks #atk4

#php #css #шаблоны #фреймворки #атк4 #atk4

Вопрос:

Последняя оставшаяся часть моего исходного приложения, которая не использует atk4, — это динамические CSS-файлы, созданные на php и выводящие заголовок css. Ширина определяется на основе данных в mysql и необходима для обеспечения того, чтобы размер экрана не изменялся постоянно при перетаскивании заметок.

С чего мне следует начать, если я хочу создать файл .css, который имеет структуру шаблона, аналогичную шаблонам html, чтобы я мог использовать определение css, например

 .fullwidth {
   width:<?$width?>; 
}
  

Заранее спасибо.

Ответ №1:

Во-первых, вам нужно будет переписать ваши CSS-файлы заново.htaccess. Создайте страницу, предназначенную для создания CSS в вашей системе.

 RewriteRule ^css/dynamic.css$  index.php?page=css
  

Затем создайте класс внутри page/css.php

 class page_css extends Page {
    function init(){
        parent::init();
        echo ".fullwidth { ... } ";
        exit;
    }
}
  

В этом случае шаблоны не очень помогают, но если вы хотите их использовать, не забудьте выполнить echo $template-> render(); и выйти.

Комментарии:

1. Если я добавлю defaultTemplate на эту страницу, будет ли она заполнена? И как мне обратиться к странице css, могу ли я включить ее с помощью $this-> api-> template->append(‘css_include’, ‘<link type=»text / css» href=»‘.$this-> api->locateURL(‘css’,’dynamic.css’).'» rel=»таблица стилей» />’.» n»);

2. defaultTemplate отображается рекурсивным отображением, которое происходит после инициализации. Если вы завершите работу раньше, этого никогда не произойдет: agiletoolkit.org/learn/understand/api/exec Что касается включения CSS, я уже добавил «статический» JavaScript , но для таблиц стилей нет статических включений. Специальная функция будет добавлена в версии 4.1.3, пока используйте опубликованный вами код. За исключением того, что locateURL не будет работать, поскольку такой файл не будет существовать.

3. ОК — я добавил <?$css_include?> в моем shared.html прямо над существующей js_include так что я могу добавить CSS, но это никак не влияло на JavaScript, так что я дам ему попробовать. Спасибо