Дизайн с разноформатной версткой

Главные вкладки

Аватар пользователя Ustas Ustas 29 октября 2004 в 18:12

Мучаюсь вопросом: можно ли в Drupal'e сделать сайт с инзменяющимся в зависимости от контекста дизайном? Например, корпоративный сайт, у которого стартовая страница имеет сеточную верстку, некоторые разделы имеют линейнуюс структуру (типа, презентаций) и соответственный дизайн, и информационные разделы уже имеют меню и т.п.
Как вариант, можно сделать CSS'ки разные, чтобы блоки позиционировались по-разному, но удобнее было бы, чтобы было несколько шаблонов.
Реализуемо?

Комментарии

Аватар пользователя Basielienis Basielienis 31 октября 2004 в 7:20

Учитывая, что у нас принято больше заниматься не content management`ом, а content layout`ом, народу постоянно нужны вот такие глупости. Но хочется какого-нибудь изящного решения, не сильно разрушаеющего то, что уже есть в Drupal. Кардинальное решение - просвещение народа в том смысле, что графическое оформление есть незначительная малая часть дизайна; но это дело десятилетий, или пока нефть не кончится, и придется по-настоящему работать (оффтоп.) :).

Я пока что пришел к простейшей схеме и пытаюсь из нее выжать максимум: оставить стандартно левую и центральную колонки, правые блоки размещать где-нибудь в нестандартном месте, менять им css, делать кучу кастомных правых блоков и раскидывать их по страницам regexp выражениями. Плюс есть еще поле mission - часто о нем забывают.

Может, этого и не хватит для многих проектов, но такое решение полностью стандартно и изящно, а возможностей можно придумать очень много, это не так примитивно, как кажется с первого взгляда, а главное - позволяет продолжать работать в стиле CMS, а не домашней странички, с реальным контентом, а не с фиктивным "оформлением".

Прошу прощения за лишнюю философию, но наболело, да и жалко людей, которых заставляют бестолку заниматься подобными "страшноватыми" вещами.

Аватар пользователя Basielienis Basielienis 6 ноября 2004 в 8:24

Style module - это такой встроенный CSS редактор через веб-интерфейс, не больше. Там, правда, есть полезные идеи.
Помнится, этот модуль просто позволял менять тэги CSS в теме на переменные, хранить эти переменные в базе и редактировать их через интерфейс в броузере.
Никакакой особой пользы, кроме дополнительных тормозов и возможности демонстрировать чайникам крутизну Drupal, я в нем не вижу. Конечно, если кому-то взбредет в голову делать массовый дешевый/бесплатный хостинг на Drupal, такая штука может сгодиться.
К тому же, он есть только для Drupal 4.3, и к нему нужно специально изменять темы.
Если имеется ввиду, что можно попробовать менять эти переменные по ходу - тогда уж не проще ли написать свою layout system для Drupal, чем заниматься полной переделкой устаревшего модуля. Да и система темплейтов с тех пор очень сильно изменилась.

Кстати, задачка мзменения CSS файлов в зависимости от адреса решается довольно легко. Я когда-то делал нечто подобное, но только для заглавной страницы, за 2 часа, не зная API, впервые открыв xtmpl файл и имея смутное представление о PHP. Но это - если хардкодить. Если делать по уму через hooks и отдельным модулем, то это другая история.

Аватар пользователя Basielienis Basielienis 8 ноября 2004 в 9:19

Да никаких изысков - просто подставлял другой css-файл.
Но если делать правильно - надо писать модуль, который будет подставлять еще один css-файл через хук (а имя его будет меняться, например, как в случае с настройкой блоков regexp`ом), не трогая drupal.css и css темы, а в этом файле только перекрывать/добавлять нужные параметры. Это еще и сэкономит около 10к при загрузке страниц, полюс полная совместимость.

Аватар пользователя Renat Renat 8 ноября 2004 в 2:00

Имхо нужно просто переключаться между разными Themes.

И помоему я гдето видел такую реализацию на друпал.орг

Аватар пользователя Basielienis Basielienis 8 ноября 2004 в 9:24

Оно конечно. Вот только объемы возрастают. И реально эти темы будут скорее всего отличаться на 5-10 параметров в css, так зачем огород городить?

Аватар пользователя Renat Renat 8 ноября 2004 в 11:08

а блоки/css развешивать не огород получится?

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

Аватар пользователя Basielienis Basielienis 9 ноября 2004 в 2:38

Тут все дело, какой у кого подход. Я ж говорю - мне по душе идеологическая чистота и работа с контентом, а не с оформлением. В варианте с блоками ты занимаешься структурой и логикой, поэтому мне это ближе. А если скажут - "шобы было красива и завтра", и рядом будет сидеть дизайнер со своими фантазиями не по делу, то дело, как всегда, закончится раскрашенной халтурой, знаем, проходили, потому и хочется по-другому.
А по поводу смены тем: подстановка дополнительного css дает почти тот же эффект, но экономнее и правильнее это. Наверное, займусь на досуге.

Аватар пользователя Basielienis Basielienis 9 ноября 2004 в 8:49

Гы. Таки я мыслю идейно ближе к генеральной линии:

http://civicspacelabs.org/developers/proposals/theme/implementation
Так что бросайте выдумывать хаки, лучше следовать за разработчиками, а кто в силах - помогать. Smile

http://drupal.org/node/12202

Аватар пользователя Basielienis Basielienis 10 ноября 2004 в 3:17

Эту софтину я плохо знаю, я ее чую, потому как давно выбрал ее исключительно по идейным и мистическим причинам :).