2013-09-06 3 views
0

В файле шаблона Joomla (index.php) Я пытаюсь получить 2 параметра, которые установлены на панели администратора (затем завернуты в какое-то css-форматирование), чтобы создать базовый CSS для шрифтов Google, а затем сохранить их в отдельный css файл. Может быть, мои мысли по этому поводу все неправильно, но вот то, что я пытаюсь сделать, но само собой разумеется, не производит ничего ...Выход буферизации php ничего не производит - почему это не работает?

<?php 
     ob_start(); 
    ?> 

     <?php echo $this->params->get('googleFont1types');?> { 
     font-family: '<?php echo str_replace('+', ' ', $this->params->get('googleFont1'));?>', sans-serif; 
     } 
     <?php echo $this->params->get('googleFont2types');?> { 
      font-family: '<?php echo str_replace('+', ' ', $this->params->get('googleFont2'));?>', serif; 
     }" 

    <?php 
    $googlefontcss = ob_get_contents(); 
    ob_end_clean(); 
    file_put_contents('googlefonts.css', $googlefontcss); 
    ?> 

Или вы знаете лучший способ сделать это? Я могу легко написать стили inline как css, как показано ниже (проверено и работает), но я не хочу, чтобы встроенный css идеально. Мне бы очень хотелось просто взять этот кусок css и записать его в текстовый файл.

<?php 
// Use of Google Font 
if ($this->params->get('googleFont')) 
{ 
?> 
    <link href='http://fonts.googleapis.com/css?family=<?php echo $this->params->get('googleFont1');?>|<?php echo $this->params->get('googleFont2');?>' rel='stylesheet' type='text/css' /> 
    <style type="text/css"> 
    <?php echo $this->params->get('googleFont1types');?> { 
     font-family: '<?php echo str_replace('+', ' ', $this->params->get('googleFont1'));?>', sans-serif; 
    } 
    <?php echo $this->params->get('googleFont2types');?> { 
     font-family: '<?php echo str_replace('+', ' ', $this->params->get('googleFont2'));?>', serif; 
    } 
    </style> 

<?php 
} 
?> 
+0

Что такое «ничего не дает?» Является ли ваш файл googlefonts.css доступным для записи? Что вы получаете, когда вы var_dump ($ googlefontcss)? – timgavin

+0

нет googlefonts.ss Я думал, что он будет создан по умолчанию? Vardump дает эту строку (174) " \t h2, h3 { \t семейство шрифтов: 'Bebas', без засечек; \t} \t р { \t \t семейство шрифтов: 'горькая', засечек; \t } « « » – user2317093

+0

Какое предположение означает, что у меня есть проблема с разрешениями, а не с кодом 1 - shouldnt file_put_contents создать файл, даже если он не существует? – user2317093

ответ

0

Это проблема с разрешениями - она ​​исправлена. Спасибо за ваш вход Тим

Смежные вопросы