За последние 24 часа нас посетили 17509 программистов и 1586 роботов. Сейчас ищут 1348 программистов ...

CMS, плагины к ним и взаимодествие с CSS

Тема в разделе "Решения, алгоритмы", создана пользователем VLK, 25 апр 2015.

  1. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Собственно заинтересовал такой вопрос, существуют разные популярные CMS и плагины к ним, которые меняют назначение этих CMS, допустим изящным движением мышки превращает блог Wordpress в интернет магазин, по большому счету речь идет о тех плагинах, которые меняют вид рабочей области (короче где контент), как я понимаю контент для вывода формирует плагин, допустим плагин интернет-магазин формирует информацию о товаре, в том числе в таблице свойства (параметры товара), но темы то (шаблоны) бывают разные, допустим светлая, для нее должен быть фон таблицы белый, border и текст черный, а если допустим шаблон темный, фон черный, текст и border желтые, как в таком случае плагин должен узнавать в каком оформлении (CSS) выводить данные? Что бы не приходилось на каждом шаблоне лезть в файлы и исправлять классы (а если user не владеет PHP,HTML,CSS)

    По опыту, подскажите как решаются подобные проблемы?

    PS если я как то мутно описал суть проблемы, извините, время позднее, день не простой..
     
  2. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    Не знаю, правильно ли я понял. Но время позднее, день не простой.
    1. Если юзер не владеет PHP, HTML, CSS, как вы написали, то ему вообще нехрен лезть в такие дебри. Это задача разработчиков, а не "сайтоодминов".
    2. По идее, плагины должны поддерживать разные стили. Т.е. в самих движках есть возможность делать несколько шаблонов. Разные папки - разные стили. Плагины могут ориентироваться на это. Если плагин самописный, так скажем, для одного использования, стили могут пихаться прямиком в стили шаблонов. Тем самым, включая определённый шаблон подключаются и определённые стили плагина.
    Либо, если плагин для общего пользования, может быть такая же система, как у самого движка. Т.е. несколько папок - несколько стилей. И с помощью самого движка определять, какой из шаблонов подключать.
    Но, я думаю, более используется третий вариант - у плагина всего один шаблон. И он сразу пишется разработчиком этого плагина как универсальный. В общих цветах, так сказать. А уж разработчики сайтов сами подгоняют его стили под нужны сайта.
     
  3. bikerlex

    bikerlex Активный пользователь

    С нами с:
    2 дек 2014
    Сообщения:
    344
    Симпатии:
    40
    А плагину и не нужно это знать. Плагин в случаи с интернет-магазином - это скелет, создающий кастомные таксономии, типы записей и т.д. Вся разметка, стили и логика вывода этих кастомных записей в шаблоне. Для этого есть специальные шаблоны для интернет-магазина. Эти шаблоны знают какие типы записей, с какими именами созданы плагином, их он и выводит. Стили конечно легко переписать, если знаешь как это сделать. Но обычному пользователю это не нужно, он выбирает шаблон с уже заданными стилями.

    Добавлено спустя 23 минуты 18 секунд:
    Можно конечно написать шаблон с редактируемыми стилями. Пользователь сможет выбрать стиль из списка, либо самостоятельно задать бэграунды документа, шапки ... да как угодно, как разработчик шаблона сделает, либо не даст пользователю возможность задавать стили.
     
  4. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    А есть какая-нибудь концепция, как это реализуется? ну на подобии MVC в РНР.
     
  5. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Я вот для своих расширений вообще CSS стараюсь не задавать никакой. Вооообще. Чтобы выглядели как говно. Чтобы можно было сразу с чистого листа им стиль задать такой, какой нужен при сборке сайта. Потому что дефолтный стиль в 95% случаев не нужен.
     
  6. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    а что именно подразумевается под фразой никаких, вообще ни каких или inherit? Конечно сообщение на 99% дает понять что вообще, но допустим в данном случае использовать везде inherit это будет плохо / вредно?

    Неужели в этой области нет ни каких концепций или чего то подобного.
     
  7. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Вообще без стилей. Только классы/ID у элементов прописаны, но не более. Ну и возможность указывать классы для самого UI компонента, как в джумле, свои. При таком подходе не нужен inherit.
     
  8. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Начал изучать более подробно HTML и CSS, так выяснилось что можно задать стили вложенным тегам, только надо знать что за теги там будут, например

    Код (Text):
    1. <div class="unknown">
    2.     <!-- а тут что то не известное, но оно будет div или ul -->
    3. </div>
    Код (Text):
    1. .unknown div {
    2.     /* и тут параметры например цвет, шрифт и т.д. */
    3. }
    4. /* и еще тоже самое для .unknown ul */
    а тому что:
    Код (Text):
    1.  <!-- а тут что то не известное, но оно будет div или ul -->
    мы как советовал [​IMG] просто не будем задавать не каких стилей

    так же прокатит?
     
  9. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    Не увидел обозначенной проблемы. В контексте CMS имеющих модульную структуру задачи отображения тем и стилей решаются точно также в контексте того же MVC:
    любой модуль может иметь несколько тем отображения, каждая тема может представляет собой в части View шаблоны верстки со своими стилями оформления, никак не ломающими, а обновляющими (на то они и каскадные таблицы) классы уже используемые в проекте (входящими в базовые файлы стилей CMS). При этом физически на выходе может быть один сшитый файл стилей.
     
  10. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    То ли я чего то не догоняю, то ли..
    ну например под темную и светлую цветовую схему, но допустим светлая, светлой рознь, допустим модуль имеет свой стиль под светлую схему, белый с синим, но тема то может быть с цветами бело-голубая, белый и аквамариновый цвет и в итоге смысл от своих стилей для модуля теряется (когда именно стиль встроен в сторонний модуль).
     
  11. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    Цветовая гамма и проч. может наследоваться от темы из базовых классов, либо настраиваться в конфиге модуля через админку (если в модуле предусмотрен такой функционал). Тут уже зависит от конкретных задач решаемых модулем и необходимости настройки стилей через административный интерфейс. В самом простом варианте можно наследовать базовые стили темы, общие для сайта (пр. <aside class="sidebar my-module-sidebar">...). Если их почему-то нет, то функция установки модуля может цеплять стили идущие с файлами установки.
    Детали этой части реализации уже обусловлены конкретными задачами модуля и конкретной cms.
     
  12. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Zuldek, выходит тогда я что то не понимаю, из-за пробелов знаний в CSS
     
  13. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    не хочу!

    Добавлено спустя 1 минуту 3 секунды:
    реально VLK у меня дохера приятных дел в реальной жизни есть и если я решил не участвовать в каком-то обсуждении то не надо меня притягивать через личные сообщения и тем более с восклицательными знаками!
     
  14. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Вот по этому я и не сопровождаю свои модули никаким CSS-ом/темами :)
    В 95% случаев все равно не подойдет под задумку. Ну тогда и нахрен оно надо. Если все равно будет переделываться, то пусть, лучше с чистого листа.
     
  15. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    не стоит забывать про вложенность нодов в гипертексте и каскады в стилях. можно придумать базовый дизайн который будет одинаково выглядеть абсолютно везде. а если автор конечной темы заморочится - то он может написать и правила для модификации плагина чтоб последний был гармонично (на вкус автора темы) вписан в тему. то есть вполне очевидно что не автор плагина должен придумывать как модифицироваться под ту или иную тему. он должен модуль хорошо написать.
     
  16. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Я прописываю классы у элементов и все. Подсовывай под них что хошь. Или их вписывай в любое правило. Лепи, что душе угодно. Ну разве что иерархию элементов да, я определяю.