Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как создать мультискиновый сайт, Сайт с темати 
:(
    Опции темы
blackstone
Дата 28.7.2008, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 28.7.2008

Репутация: нет
Всего: нет



Здравствуйте!
Недавно начал изучать Rails и наперед возник вопрос:
- как сделать разные скины для сайта, причем выбирать шаблон нужно динамически.

В asp.net есть специальный механизм для этого, в smarty для php можно указать $smarty->template_dir.


А как тоже самое проделать в rails?
Есть ли встроенные функции или нужен плагин какой-то?

Заранее спасибо!
PM MAIL   Вверх
shine
Дата 28.7.2008, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 20.10.2006

Репутация: 2
Всего: 5



Если под скинами ты имеешь ввиду набор CSS+JS которые дожны при каких-то условиях переключаться то никто тебе не мешает в layout создать определение нужного набора и подключение именно его.
--------------------
An investment in knowledge always pays the best interest. © Benjamin Franklin
PM MAIL   Вверх
blackstone
Дата 28.7.2008, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 28.7.2008

Репутация: нет
Всего: нет



При помощи css конечно можно дизайн поменять если на дивах верстать, но все-таки хотелось бы узнать как можно подключать разные шаблоны в зависимости от условий.
Можно-ли в каталоге app/view создать несколько подкаталогов, в каждом из которых будет набор представлений, чтобы подключать какой-то из них?

PM MAIL   Вверх
shine
Дата 29.7.2008, 08:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 20.10.2006

Репутация: 2
Всего: 5



В контроллере вместо обычного указания шаблона можно использовать результат функции. В этой функции ты можешь определять условия использования шаблонов или вообще запрашивать эти шаблоны из других моделей/конфигурационных файлов и т.д.

Код

  layout :template
  
  def template
      return 'template1' if template1Condition
      return 'template2' if template2Condition
      return 'template3' if template3Condition

      return Template.find(:first, :conditions => ["user_id = #{session[:user_id]}"]).filename if iWantToReadFromModel
  end


ну и дальше в таком духе...
--------------------
An investment in knowledge always pays the best interest. © Benjamin Franklin
PM MAIL   Вверх
blackstone
Дата 30.7.2008, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 28.7.2008

Репутация: нет
Всего: нет




А это значит что в каждом контроллере нужно прописывать представление которое он должен выбрать или можно на глобальную конфигурацию как-то повлиять?
Допустим указав каталог, где среда сама бы для всех представлений брала файлы?


Заранее спасибо!

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Ruby on Rails"
source777
  • С чего начать? начинаем
  • Документацию смотрим тут
  • Обязательно следуйте правилам Vingrad.
  • Пожалуйста, прочитайте рекомендации по работе в форуме и навигации по Vingrad.
  • Для вставки кодов Ruby используйте тег: [code=ruby]код[/code]. Когда в будущем подсветка синтаксиса для Ruby будет реализована, весь исходных код преобразится.
  • Используйтe чекбокс "Транслит" (возле кнопок кодов), если у Вас нет русских шрифтов.
  • Помните, для каждого вопроса должна быть своя тема.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Ruby On Rails | Следующая тема »


 




[ Время генерации скрипта: 0.0915 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.