Перейти к содержанию
andrejbr

Как вывести стили css в header

Рекомендуемые сообщения

Стоит задача - из нескольких купленных модулей, из их файлов представлений перенести блоки стилевого описания <style> ... </style> (по-умолчанию их вывод происходит в тело body) в header или в уже созданный отдельный файл стилей темы (встает вопрос по кешированию файла у пользователя).

Это необходимо, что бы страницы где есть вывод информации с этих модулей проходили валидацию - validator.w3.org.

Подскажите, как это сделать корректней, желательно на примере.

 

p.s. не надо советовать перенести стили css внутрь тегов. Все что мог уже перенес. Некоторые блоки стилей формируются динамически.

Изменено пользователем andrejbr

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ну тогда вынести куда нужно то что сгенерило и вырезать то что генерит это всё

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не совсем понятно. Спасибо конечно за подробный ответ. Знаний маловато, чтобы "вынести куда нужно то что сгенерило и вырезать то что генерит это всё".

Например, вот такой блок стилей:

===

            <style>
             .record_columns .column_width_ {
                 width: <?php if (isset ($settings_blog['block_records_width']) && $settings_blog['block_records_width']!='' ) {
                  echo $settings_blog['block_records_width'].'; padding-right: 5px;';
                 } else {
                  echo '100%; min-width: 100%;';
                 }
                 ?>
             }
            </style>

Изменено пользователем andrejbr

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, andrejbr сказал:

Не совсем понятно. Спасибо конечно за подробный ответ. Знаний маловато, чтобы "вынести куда нужно то что сгенерило и вырезать то что генерит это всё".

Например, вот такой блок стилей:

===

            <style>
             .record_columns .column_width_ {
                 width: <?php if (isset ($settings_blog['block_records_width']) && $settings_blog['block_records_width']!='' ) {
                  echo $settings_blog['block_records_width'].'; padding-right: 5px;';
                 } else {
                  echo '100%; min-width: 100%;';
                 }
                 ?>
             }
            </style>

ну в файл css от шаблона
Судя по стилям это у Блога Марка. значит можно и в поле кастомного css в самом модуле
я уже делал подобное

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, andrejbr сказал:

Например, вот такой блок стилей:

 

не все стили можно будет вынести в отдельный файл

как раз в вашем примере css формируется в зависимости от параметров переданных через php

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, AlexDW сказал:

 

не все стили можно будет вынести в отдельный файл

как раз в вашем примере css формируется в зависимости от параметров переданных через php

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, AlexDW сказал:

 

не все стили можно будет вынести в отдельный файл

 

Может и не надо в отдельный файл, к тому же скорее всего закешированный у пользователя. Возможно ли в <head> ... </head> закинуть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, andrejbr сказал:

 

Может и не надо в отдельный файл, к тому же скорее всего закешированный у пользователя. Возможно ли в <head> ... </head> закинуть?

вот вам делать нечего... увас в модуле есть вкладка для кастомного css - запихайте стили туда и будет вам вывод через хеад.
И удалите в шаблоне эту плющку с добавлением сьтилей и всё.
раз вы спрашиваете как это сделать через хеад то вам лучше вообще туда не лезть,

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я бы так и сделал и делал в других модулях. Но здесь блок css формирует вид списка статей, на один страницах он один, на других другой. Зависит от присвоенных в админке параметров для конкретных страниц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
35 минут назад, AWARO сказал:

 у вас в модуле есть вкладка для кастомного css - запихайте стили туда и будет вам вывод через хеад.

 

Вкладка есть, но там размещают статичный код css. Он попадает в отдельный файл css, который у клиента кешируется. Даже если допустить, что код будет как надо динамично изменяться, при посещении клиентом разных страниц со списком статей, имеющих разный внешний вид css файл будет один и тот же из кеша.

Отсюда и вопрос, возможно ли как то из представления в head закинуть стили?

Изменено пользователем andrejbr

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

добавьте к конкретной странице свой класс и исходите от него.
помоему в этом модуле  свои id даже есть у каждого свой

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А если страниц сотни?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Вы комментируете как гость. Если у вас есть аккаунт, пожалуйста, войдите
Ответить в этой теме...

×   Вы вставили контент с форматированием.   Удалить форматирование

  Разрешено использовать не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.