Вобщем дело такое. Друпал 6.
Изначально был создан шаблон (с помощью програмки) с колонкой слева и содержанием справа. Постепенно добавлялся материал, и возникла необходимость на одной из нод убрать эту самую левую колонку. Если просто отключаешь в блоках все составляющие левой колонки, то колонка слева пропадает, а содержание переносится в левую сторону, но ширина его остаётся прежней, то есть на всю страницу блок содержания не растягивается. А надо, чтобы растянулось. Можно ли к отдельной ноде привязать отдельную тему без колонок? Или есть ещё какое-либо решение такой проблемы? Спасите-помогите! )) Заранее благодарен )
Комментарии
Есть решение, сверстать страницу вручную
К сожалению знаний в области не хватает, чтоб вручную верстать.. И времени на изучение этого дела совсем нет. Если б мог вручную верстать - не пользовался бы программами ) Может всё же есть решение, которое обойдётся элементарной правкой кода для присвоения одной единственной ноде другой темы оформления, а не вертской? Подскажите.
page.tpl.php
То, что в page.tpl.php находится шаблон всей страницы - это понятно, но как сделать, допустим, чтобы для node/92 была тема без левой колонки и с шириной содержимого на всю страницу, а для всех остальных страниц всё было так, как было раньше? Ведь если в page.tpl.php я уберу левую колонку, то она пропадёт и во всей теме на всех страницах сайта.
в настройках блока, внизу есть поля в которых можно указать адреса страниц на которых отображать блок не нужно, там то и указываете вашу ноду node/92 . По поводу смещения, так это верстка, попробуйте сверстать страницу более правильно и резиново. Что бы ширина контента была в 100%
Если я всё правильно понял, то вот этот код в style.css отвечает за ширину контента:
{
margin-bottom: 6px;
width: 986px;
position: relative;
}
Меняю 986 пикселей на 100% - никаких изменений. Ставлю на авто - тоже самое. Простите, если что неграмотно - вёрсткой впервые занимаюсь, до этого даж css файлы-то не открывал ))
А что мешает в PHP-файл добавить условие? Если nid=92 и т.д.
зачем усложнять себе жизнь,тем более существуют встроеные средства.
На самом деле там не все так просто. надо смотреть верстку.
вот пример валидного 2х колоночного резинового макета:
Не вставился код у вас) Не могли бы повторить? )
Нашёл решение проблемки, выставив макс и мин widht для контента, позицию ему задал absolute, и ещё задал фиксированный width для левой колонки:
.contentLayout .sidebar1
{
position: static;
margin: 0;
padding: 0;
border: 0;
float: left;
overflow: hidden;
width: 25%;
}
/* end LayoutCell */
/* begin LayoutCell */
.contentLayout .content
{
position: absolute
margin: 0;
padding: 0;
border: 0;
float: right
overflow: auto;
width:auto
min-width: 70%; max-width: 100%
}
/* end LayoutCell */
Добился резиновости!! )) Исходный код шаблона был сгенерирован программой Artisteer2, только вот не понятно, почему эту самую резиновость там не сделали изначально, а задали вместо этого фиксированные величины... Явно упущеный момент ) Ну зато чуточку разобрался в CSS. Первый опыт с вёрсткой прошёл успешно, благодарю всех за помощь и содействие! )
Хотя если подумать - то такое решение может быть полезно для невысокого разрешения экрана, т.к. если текста на нодах всего ничего - пару-тройку строчек на 1000 пиксельной ширине - то выходит, что на высоком разрешении, допустим на 2048 пикселей ширины, будет ширина контента в 2048, и весь текст, при отсутствии br'ов, будет показан в одну строчку, что выглядит не очень симпотично )
Оп, лоханулся ) Максимальная ширина контента задана так же вот этими строчками:
.contentLayout
{
margin-bottom: 1px;
width: 994px;
position: relative;
}
/* end ContentLayout */
Так что контент при разрешении 2000 пикселей не расширится больше, чем 994 пикселя ) Проблема решена, спасибо за внимание ))
Забавно конечно, но я вот попробовал сделать всё вышеперчисленное в другой теме, и был приятно удивлён, увидев, что ничего не получается ))) Прописываю всё точно так же в файле style.css, но блок контента почему-то ложится поверх левого сайдбара, а не встаёт рядом. Может кто покажет мне мою ошибку? А то я никак не вопру в чём проблема... (
Угу, сейчас быстренько поймём, какая это "другая тема" - и сразу ответим
Ну всмысле в другом шаблоне, опять же созданом в Artisteer2.
Всё, добился методом "научного тыка", просто удаляя по одному параметры из CSS-кода и перебирая их значения. Вот какой получился код:
.contentLayout .sidebar1
{
position: static;
margin: 0;
border: 0;
float: left;
overflow: hidden;
width: 24%;
}
/* end LayoutCell */
/* begin LayoutCell */
.contentLayout .content
{
position: relative;
margin: 0;
border: 0;
overflow:hidden;
min-width: 76%;
}
/* end LayoutCell */
.contentLayout .sidebar1
{
position: static;
margin: 0;
border: 0;
float: left;
overflow: hidden;
width: 24%;
}
/* end LayoutCell */
/* begin LayoutCell */
.contentLayout .content
{
position: relative;
margin: 0;
border: 0;
overflow:hidden;
min-width: 76%;
}
/* end LayoutCell */
Тут неправильно немного - в Опере корректно отображает и всё растягивает, но в ИЕ7, стоящем у меня, на всю страницу не растягивает. Исправил немножечко:
.contentLayout .sidebar1
{
position: static;
margin: 0;
border: 0;
float: left;
overflow: hidden;
max-width: 24%;
}
/* end LayoutCell */
/* begin LayoutCell */
.contentLayout .content
{
position: relative;
margin: 0;
border: 0;
overflow:hidden;
min-width: 76%;
}
/* end LayoutCell */