drupal_add_css, не работающий

Попробуйте что-то вроде этого:

string fileName = "something";
foreach (char c in System.IO.Path.GetInvalidFileNameChars())
{
   fileName = fileName.Replace(c, '_');
}

Редактирование:

С тех пор GetInvalidFileNameChars() возвратит 10 или 15 символов, лучше использовать StringBuilder вместо простой строки; исходная версия займет больше времени и использует больше памяти.

7
задан Peter Mortensen 17 July 2010 в 10:37
поделиться

7 ответов

Ответом было очень много использовать модуль CSS Injector - отличный маленький аддон!

Вот выдержка со страницы проекта:

Позволяет администраторам вставлять CSS в вывод страницы на основе настраиваемых правил. Это полезно для добавления простых настроек CSS без изменения официальной темы сайта. CSS добавляется с помощью стандартной функции Drupal_add_css () Drupal и учитывает кеширование страниц и т. Д. Brach 2.x использует CTools, поэтому CSS может быть включен с изменениями функций (т.е. CSS, который улучшает внешний вид представления, может быть упакован вместе с представлением ).

2
ответ дан 6 December 2019 в 07:27
поделиться

Не совсем понятно где вы выбираете шаблон, который есть в вашем примере.

7
ответ дан 6 December 2019 в 07:27
поделиться

This function wont work in templates. The reason is that the variable $styles which will hold all the stylesheet html will already have been generated at this point, so drupal_add_css wont work as it adds to that. if you want to do this in your theme, you would probably have to add the css file manually

<link rel="stylesheet" ... />

The other way would be to use drupal_add_css in a module, but you might have a hard time adding the correct css files on the pages you want.

4
ответ дан 6 December 2019 в 07:27
поделиться

Можно использовать drupal_add_css () внутри вашего файла template.php; на этой странице есть хороший пример того, как это сделать.

3
ответ дан 6 December 2019 в 07:27
поделиться

Спасибо за ссылку, Wyrmmage. Это очень полезно. Я думаю, что остальная часть кода на странице не является не нужно. Вам, вероятно, просто нужно, так как Drupal 6 уже автоматически проверяет наличие файла:

drupal_add_css(path_to_theme() . '/css/yourcss.css', 'theme');
// Add the following to regenerate $styles. 
// This is needed for template_preprocess_page() since css is already generated at this point.
$variables['styles'] = drupal_get_css(); 
0
ответ дан 6 December 2019 в 07:27
поделиться

Этот код внутри template.php работает для меня:

function alagna_preprocess_page(&$vars) {
        drupal_add_css(path_to_theme() . '/header_1.css', 'theme');
        $vars['css'] = drupal_add_css();
        $vars['styles'] = drupal_get_css();
} 

объяснил:

  1. alagna - это имя темы
  2. header_1.css - это CSS требуется файл.
1
ответ дан 6 December 2019 в 07:27
поделиться

Я заметил кое-что странное, и это может решить вашу проблему:

drupal_add_css( drupal_get_path('theme','themname') . '/working.css','module' ,'all' , false );

drupal_add_css( drupal_get_path('theme','themname') . '/path/to/folder/notworking.css','module' ,'all' , false );

Первый вариант будет работать, потому что стиль находится в папке main them. Вторая строка не работает, потому что стиль находится во вложенной папке!

Edit:

я думаю, что это не работает, потому что я не написал путь к файлу стиля правильно :S так что, пожалуйста, не обращайте внимания на мой ответ

drupal_add_css( drupal_get_path('theme','test') . '/pages/subpage/style.css','theme');

работает

6
ответ дан 6 December 2019 в 07:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: