Собственно заинтересовал такой вопрос, существуют разные популярные CMS и плагины к ним, которые меняют назначение этих CMS, допустим изящным движением мышки превращает блог Wordpress в интернет магазин, по большому счету речь идет о тех плагинах, которые меняют вид рабочей области (короче где контент), как я понимаю контент для вывода формирует плагин, допустим плагин интернет-магазин формирует информацию о товаре, в том числе в таблице свойства (параметры товара), но темы то (шаблоны) бывают разные, допустим светлая, для нее должен быть фон таблицы белый, border и текст черный, а если допустим шаблон темный, фон черный, текст и border желтые, как в таком случае плагин должен узнавать в каком оформлении (CSS) выводить данные? Что бы не приходилось на каждом шаблоне лезть в файлы и исправлять классы (а если user не владеет PHP,HTML,CSS) По опыту, подскажите как решаются подобные проблемы? PS если я как то мутно описал суть проблемы, извините, время позднее, день не простой..
Не знаю, правильно ли я понял. Но время позднее, день не простой. 1. Если юзер не владеет PHP, HTML, CSS, как вы написали, то ему вообще нехрен лезть в такие дебри. Это задача разработчиков, а не "сайтоодминов". 2. По идее, плагины должны поддерживать разные стили. Т.е. в самих движках есть возможность делать несколько шаблонов. Разные папки - разные стили. Плагины могут ориентироваться на это. Если плагин самописный, так скажем, для одного использования, стили могут пихаться прямиком в стили шаблонов. Тем самым, включая определённый шаблон подключаются и определённые стили плагина. Либо, если плагин для общего пользования, может быть такая же система, как у самого движка. Т.е. несколько папок - несколько стилей. И с помощью самого движка определять, какой из шаблонов подключать. Но, я думаю, более используется третий вариант - у плагина всего один шаблон. И он сразу пишется разработчиком этого плагина как универсальный. В общих цветах, так сказать. А уж разработчики сайтов сами подгоняют его стили под нужны сайта.
А плагину и не нужно это знать. Плагин в случаи с интернет-магазином - это скелет, создающий кастомные таксономии, типы записей и т.д. Вся разметка, стили и логика вывода этих кастомных записей в шаблоне. Для этого есть специальные шаблоны для интернет-магазина. Эти шаблоны знают какие типы записей, с какими именами созданы плагином, их он и выводит. Стили конечно легко переписать, если знаешь как это сделать. Но обычному пользователю это не нужно, он выбирает шаблон с уже заданными стилями. Добавлено спустя 23 минуты 18 секунд: Можно конечно написать шаблон с редактируемыми стилями. Пользователь сможет выбрать стиль из списка, либо самостоятельно задать бэграунды документа, шапки ... да как угодно, как разработчик шаблона сделает, либо не даст пользователю возможность задавать стили.
Я вот для своих расширений вообще CSS стараюсь не задавать никакой. Вооообще. Чтобы выглядели как говно. Чтобы можно было сразу с чистого листа им стиль задать такой, какой нужен при сборке сайта. Потому что дефолтный стиль в 95% случаев не нужен.
а что именно подразумевается под фразой никаких, вообще ни каких или inherit? Конечно сообщение на 99% дает понять что вообще, но допустим в данном случае использовать везде inherit это будет плохо / вредно? Неужели в этой области нет ни каких концепций или чего то подобного.
Вообще без стилей. Только классы/ID у элементов прописаны, но не более. Ну и возможность указывать классы для самого UI компонента, как в джумле, свои. При таком подходе не нужен inherit.
Начал изучать более подробно HTML и CSS, так выяснилось что можно задать стили вложенным тегам, только надо знать что за теги там будут, например Код (Text): <div class="unknown"> <!-- а тут что то не известное, но оно будет div или ul --> </div> Код (Text): .unknown div { /* и тут параметры например цвет, шрифт и т.д. */ } /* и еще тоже самое для .unknown ul */ а тому что: Код (Text): <!-- а тут что то не известное, но оно будет div или ul --> мы как советовал просто не будем задавать не каких стилей так же прокатит?
Не увидел обозначенной проблемы. В контексте CMS имеющих модульную структуру задачи отображения тем и стилей решаются точно также в контексте того же MVC: любой модуль может иметь несколько тем отображения, каждая тема может представляет собой в части View шаблоны верстки со своими стилями оформления, никак не ломающими, а обновляющими (на то они и каскадные таблицы) классы уже используемые в проекте (входящими в базовые файлы стилей CMS). При этом физически на выходе может быть один сшитый файл стилей.
То ли я чего то не догоняю, то ли.. ну например под темную и светлую цветовую схему, но допустим светлая, светлой рознь, допустим модуль имеет свой стиль под светлую схему, белый с синим, но тема то может быть с цветами бело-голубая, белый и аквамариновый цвет и в итоге смысл от своих стилей для модуля теряется (когда именно стиль встроен в сторонний модуль).
Цветовая гамма и проч. может наследоваться от темы из базовых классов, либо настраиваться в конфиге модуля через админку (если в модуле предусмотрен такой функционал). Тут уже зависит от конкретных задач решаемых модулем и необходимости настройки стилей через административный интерфейс. В самом простом варианте можно наследовать базовые стили темы, общие для сайта (пр. <aside class="sidebar my-module-sidebar">...). Если их почему-то нет, то функция установки модуля может цеплять стили идущие с файлами установки. Детали этой части реализации уже обусловлены конкретными задачами модуля и конкретной cms.
не хочу! Добавлено спустя 1 минуту 3 секунды: реально VLK у меня дохера приятных дел в реальной жизни есть и если я решил не участвовать в каком-то обсуждении то не надо меня притягивать через личные сообщения и тем более с восклицательными знаками!
Вот по этому я и не сопровождаю свои модули никаким CSS-ом/темами В 95% случаев все равно не подойдет под задумку. Ну тогда и нахрен оно надо. Если все равно будет переделываться, то пусть, лучше с чистого листа.
не стоит забывать про вложенность нодов в гипертексте и каскады в стилях. можно придумать базовый дизайн который будет одинаково выглядеть абсолютно везде. а если автор конечной темы заморочится - то он может написать и правила для модификации плагина чтоб последний был гармонично (на вкус автора темы) вписан в тему. то есть вполне очевидно что не автор плагина должен придумывать как модифицироваться под ту или иную тему. он должен модуль хорошо написать.
Я прописываю классы у элементов и все. Подсовывай под них что хошь. Или их вписывай в любое правило. Лепи, что душе угодно. Ну разве что иерархию элементов да, я определяю.