Просмотр полной версии : TemplaVoila - смена CSS атрибутов для DIV-а
Anatoly_ua
10.12.2008, 13:06
У меня в шаблоне, вверху страницы есть такой блок:
<div id="sub_image" style="background-image:url(design/_vor.jpg); background-color:#FFDF7E;">
   <h1>Заголовок подстраницы или подраздела </h1>
</div>
Для разных разделов меняется background-image, background-color, ну и, естественно, заголовок. В подчиненных страницах этого раздела все это по умолчанию остается одинаковым, но и должна быть возможность менять при необходимости. Хотелось бы, чтобы редактор мог все это менять в BE -- цвет фона, изображение, заголовок. 
Сайт делаю на TemplaVoila.
У меня в шаблоне, вверху страницы есть такой блок:
<div id="sub_image" style="background-image:url(design/_vor.jpg); background-color:#FFDF7E;">
   <h1>Заголовок подстраницы или подраздела </h1>
</div>
Для разных разделов меняется background-image, background-color, ну и, естественно, заголовок. В подчиненных страницах этого раздела все это по умолчанию остается одинаковым, но и должна быть возможность менять при необходимости. Хотелось бы, чтобы редактор мог все это менять в BE -- цвет фона, изображение, заголовок. 
Сайт делаю на TemplaVoila.
есть вариант, что-то вроде:
- создать поле field_style:
Mapping Type: Attribute
Editing Type: Selector box
- назначить его на атрибут style="...":
HTML-path: <div> ATTR:style
- отредактировать DS:
<field_style type="array">
	<type>attr</type>
	<tx_templavoila type="array">
		<title>Style</title>
		<description>Style</description>
		<sample_data type="array">
			<numIndex index="0">[Style...]</numIndex>
		</sample_data>
		<eType>select</eType>
	</tx_templavoila>
	<TCEforms type="array">
		<config type="array">
			<type>select</type>
			<items type="array">
				<numIndex index="0" type="array">
					<numIndex index="0"></numIndex>
					<numIndex index="1"></numIndex>
				</numIndex>
				<numIndex index="1" type="array">
					<numIndex index="0">Style 1</numIndex>
					<numIndex index="1">background-image:url(design/1.jpg);background-color:#111;</numIndex>
				</numIndex>
				<numIndex index="2" type="array">
					<numIndex index="0">Style 2</numIndex>
					<numIndex index="1">background-image:url(design/2.jpg);background-color:#222;</numIndex>
				</numIndex>
			</items>
			<default>1</default>
		</config>
		<label>Style</label>
	</TCEforms>
</field_style>
удачи =)
Anatoly_ua
16.12.2008, 23:17
Спасибо! Мысль понятна, буду разбираться..
Спасибо!
Как раз в мою тему. А как поиметь такую же возможность разукрашивать меню?
DMmaking
06.04.2010, 01:23
Разжуйте пожалуйста, если у кого-то получилось! Пока не до конца понял, не получается сделать. Многим начинающим будет полезно!
InDaHouse
07.04.2010, 14:39
Подскажите, а как быть если необходимо НЕ изменять атрибут, а добавлять стилевой класс? Так, что бы сохранилось "разделение" вёрстки и оформления?
Вот исходный код шаблона:
<div id="content">
.............
    <div class="scontent">
           ............
    </div>
...............
</div>
Контейнер "scontent" - это FCE. 
На выходе хотелось бы получить, к примеру, так:
.............
    <div class="scontent red">
           ............
    </div>
    <div class="scontent green">
           ............
    </div>
    <div class="scontent blue">
           ............
    </div>
...............
    <div class="scontent float_left">
           ............
    </div>
...............
В лоб, конечно, могу содержимое "scontent" обернуть ещё одним div-ом, и на него назначить селектор атрибутов. Но, ИМХО, это не есть гуд. Или могу назначить селектор атрибутов на "sconent" и в .css продублировать для классов все свойства. А это, опять же ИМХО, как-то корявенько.  
Возможно есть решение в духе "тайпо-вэй"?
InDaHouse
08.04.2010, 00:01
Для новой ветки - вопрос скромный. Поэтому, пишу здесь, в продолжение "смены атрибутов".
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot