PDA

Просмотр полной версии : Разметка страницы


Falcon
16.10.2008, 12:41
Каким образом можно быстро сделать разметку страницы?? указать где будет меню и тп? В документациях несколько способов. какой из них самый удобный. времени разбираться основательно почти нет.. зарание спасибо.

Andrey Grey
16.10.2008, 12:54
используйте templavoila раширение.
Заготавливаете html шаблон, а затем мышкой размечаете поля где что выводить. + всегда есть возможность усложнить вывод за счет typoscript

Falcon
16.10.2008, 22:06
тоесть сначало можно нарисовать таблицу, как в обычном html допустим 3 столбца и 2 строки. и уже в ячейки вставить что то вроде
<!-- ###TOPNAV### START -->
......
<!-- ###TOPNAV### END --> и тп.

я правильно всё понял?

Andrey Grey
16.10.2008, 22:34
нет. для темплавоилы подобная разметка не нужна.
нужно контейнерам и ячейкам раздать идентификаторы и классы и расширение будет ориентироваться по ним..

Falcon
16.10.2008, 22:38
эт я понял) я не понял где именно их надо создавать..
учитывая что шаблон надо делать с ноля

Andrey Grey
16.10.2008, 22:42
вот для этого я и говорил вам прочесть FTB.
Создать шаблон
Выгрузить на сервер в папку fileadmin/templates
Создать TO и DS, либо воспользоваться автоматическим созданием.
Разметить шаблон в ТВ.

Andrey Grey
16.10.2008, 23:19
тут ваше счастье (http://typo3.biz/uploads/media/manual-doc_tut_ftb1-ru-02-02-2004_15-32-01.pdf).
Остальный мануалы (http://typo3.biz/cms-typo3/documentation.html) рекомендую тоже прочесть или ознакомиться.

Falcon
19.10.2008, 14:52
Спасибо, начал осмысленное изучение.. на первом этапе возниколо пару вопросов..
1й) зачем он (автор) сначало создал полную структуру сайта? я думаб можно обоитись и без этого... и 2й вопрос по хтмл.
так где в примере шаблона описывается меню.. на DIV'ах... как сжелать чтобы они становились не вертикально, а горизонтально, вслед за друг другом?
это надо в css указывать или где?

-=UncleByte=-
19.10.2008, 22:46
1й) зачем он (автор) сначало создал полную структуру сайта? я думаб можно обоитись и без этого...Как минимум одну страницу надо создать в любом случае.
как сжелать чтобы они становились не вертикально, а горизонтально, вслед за друг другом?
это надо в css указывать или где?Именно в css - http://www.w3schools.com/css/pr_class_float.asp

Falcon
22.10.2008, 20:51
Спасибо огромное)
изучил, использую..
Остался ещё вопросик, допустим у меня щас есть шаблон на таблицах, в нём 2е динамич ячейки, меню и контент. ибо заказчик ещё не определился что он хочет в дальнейшем, Вопрос в том, что смогу ли я после того как опредилил DS и TO для них, изменить шаблон, а имменно, допустим вставить в определённую ячейку(статическую) ещё таблицу или чтонибуть в этом духе.

-=UncleByte=-
22.10.2008, 21:39
После этого надо будет обновить записи TV - выбрать пункт TemplaVoila в выпадающей менюшке шаблона TV и выбрать затем Modify TO/DS, в диалоге мапинга надо будет нажать на refresh и загрузится уже обновленный файл шаблона, после этого спокойно можно добавить новые поля и назначить им маппинг. Потом надо жать на Save и выбрать Update DS/TO для своего текущего темплейта. После очистить все кеши.

Falcon
27.10.2008, 17:26
Есть ещё вопросик,
а где можно почитать как добавить контент не в туже ячейку (как показано в FTB ) а в совершенно другую? зарание спасибо

-=UncleByte=-
28.10.2008, 00:18
Обычно все можно определить в шаблоне при помощи TS, но пока не понял что именно имеется в виду в вопросе.

Falcon
28.10.2008, 00:24
просто ещё одно место на странице в котором будет контент )

а так сейчас возникла серьёзная проблема, всё отилчно работает, но когда устонавливаю static_info_tables появляются "Fatal error: Cannot re-assign $this in /home/mspace/masterspace.ru/docs/typo3/typo3conf/ext/static_info_tables/class.tx_staticinfotables_syslanguage.php on line 41" и тп =(
немогу понять в чём дело (

PHP5.2.6
www.nic.ru

-=UncleByte=-
28.10.2008, 00:32
Ну так можно сделать разметку и туда вставлять контент - все проще простого :)
Дважды ставил на хостинг руцентра сайты и все прекрасно работает, даже не представляю что может быть.
Пробовали менять конфигурацию php как описано вот тут (http://forum.typo3.biz/showthread.php?t=5808)?

Falcon
28.10.2008, 00:50
это то я понял) а как именно? )
допустим сделаю я to и ds для ячейки ) и то потом?*

а с static_info_tables разобрался)
просто поставил TV посвежее)

-=UncleByte=-
28.10.2008, 11:27
Ну можно же назначить тип Content Elements не только для одной ячейки, а для нескольких, это как один вариант, а второй вариант делать уже FCE и вставлять их на страницу как угодно.

Falcon
31.10.2008, 00:43
Спасибо огромное))
ток у мя что то с CSS невыходит, в CSS прописано
#idvir{float:left}
A.ssil:link {text-decoration:none; Color:white}
A.ssil:hover {text-decoration:underline; color:#33F}
/*A.ssil:active {text-decoration:none; Color:#F0F}*/
A.ssil:visited {text-decoration:none; color:#F0F}

в шаблоне все пункты в строчку, а когда пункты динамическм генерируются всёравно они в столбик становятся...

-=UncleByte=-
31.10.2008, 01:58
Все псевдо классы для тега А надо располагать в строгом порядке. Обычно таком:
a.ssil:link, a.ssil:visited {text-decoration:none;color:#33f}
a.ssil:hover, a.ssil:active {text-decoration:underline;color:#f0f} и при необходимости добавить !important если правило где-то может перекрываться наследованием.

Falcon
05.11.2008, 17:24
Спасибо огромное за код)
ток есть трабла, что между div'ами нету пробелов =( и текст сливается в 1..
как будет грамотно их поставить?

-=UncleByte=-
05.11.2008, 20:09
Спасибо огромное за код)
ток есть трабла, что между div'ами нету пробелов =( и текст сливается в 1..
как будет грамотно их поставить?Не понял как такое может быть - можно посмотреть пример?

Falcon
05.11.2008, 23:28
Вот так вот )
http://pic.ipicture.ru/uploads/081105/ZyhHGQLb2u.jpg (http://pic.ipicture.ru/uploads/081105/ZyhHGQLb2u.jpg)
извиняюсь за цвета) потом исправлю..
и снова что то с css
в нём
#idvir{float:left}
a.ssil:link, a.ssil:visited {text-decoration:none;color:#33f}
a.ssil:hover, a.ssil:active {text-decoration:underline;color:#f0f}
а в CMS всё равно все пункты в столбик,
очевидно я накасячил в css, подскажите как надо, если не трудно...

-=UncleByte=-
06.11.2008, 00:05
А код приведенного фрагмента можно увидеть? И css и html. И что значит "а в CMS всё равно все пункты в столбик"?

Falcon
06.11.2008, 00:30
ок)
в шаблоне такой код

<td background="pic/menu2.jpg"valign="middle" bgcolor="#000000">
<div id="idvir"><a class="ssil" href="#">О компании </a> </div>
<div id="idvir"><a class="ssil" href="#">Новости </a> </div>
<div id="idvir"><a class="ssil" href="#">Услуги </a> </div>
<div id="idvir"><a class="ssil" href="#">Прайс-листы </a> </div>
<div id="idvir"><a class="ssil" href="#">Контакты</a> </div>


код в css выше.
а выглядит это всё вот так
http://pic.ipicture.ru/uploads/081105/B6iqXM7vKn.jpg (http://pic.ipicture.ru/uploads/081105/B6iqXM7vKn.jpg)

-=UncleByte=-
06.11.2008, 06:30
Ну вообще говоря использовать один id для нескольких элементов это довольно грубая ошибка в css - для повторяющихся элементов можно и нужно использовать классы или, что не очень хорошо, переопределять сами теги, а чтобы не возникало в данном случае переопределять их в рамках исключительно контейнера.
В приведенном коде помимо всего прочего еще не описывается никак ни внутренние отступы для блока-контейнера (padding), ни его внешние поля (margin) что тоже неверно, т.к. при использовании float обязательно надо указывать как блок взаимодействует с окружающими его блоками.
Вообще для меню логично было бы задать либо один тег-контейнер (тот же <div id="idvir"> вполне подойдет) и уже для самих ссылок указать их поведение и способ отображения, либо, что еще логичнее с точки зрения удобства и "пуленепробиваемости" css и html кода использовать список (ul или dl для двухуровнего меню) в качестве контейнера.
В первом случае код будет такой:
html
<td background="pic/menu2.jpg"valign="middle" bgcolor="#000000">
<div id="idvir"><a class="ssil" href="#">О компании </a>
<a class="ssil" href="#">Новости </a>
<a class="ssil" href="#">Услуги </a>
<a class="ssil" href="#">Прайс-листы </a>
<a class="ssil" href="#">Контакты</a> </div> </td>
и css
#idvir a {float:left;display:block;padding:3px 5px;margin:0 3px}
a.ssil:link, a.ssil:visited {text-decoration:none;color:#33f}
a.ssil:hover, a.ssil:active {text-decoration:underline;color:#f0f}
А во втором случае могу посоветовать посмотреть уроки вот тут - http://css.maxdesign.com.au/listutorial/

Falcon
06.11.2008, 21:49
Спасибо, всё рааботает)
тока теперь кода я изменил некоротые параметры в CSS он не хочет больше с ней работать, а грузит всё из
typo3temp/stylesheet_8192c2092f.css TO и DS обновлял...

-=UncleByte=-
06.11.2008, 23:16
Ну так надо же подключить свой css к странице. Читайте свойства для PAGE в TSRef.

Falcon
06.11.2008, 23:18
окей)
просто до изменения всё работало, и грузилось откуда надо)

-=UncleByte=-
06.11.2008, 23:25
Для начала надо кеши почистить, а потом уже смотреть как подключается css.

Falcon
07.11.2008, 02:14
Тоесть надо в Установки шаблона вставить
includeCSS {
file1 = res/stylesheet.css
}


PS Надоел я вам уже наверно. Но разобраться хочется.

-=UncleByte=-
07.11.2008, 12:49
Ага, именно это и надо добавить, только путь должен быть полным от корня сайта и по стандарту желательно все-таки указать media для каждого css подключаемого.

Falcon
07.11.2008, 20:36
А что надо в media указывать?) если страница самая обычная)

и кстати сss что то не подключается... адрес указал от /fileadmin/....

и в коде генирируемой странице есть такие строчки <link rel="stylesheet" type="text/css" href="typo3temp/stylesheet_8192c2092f.css" />

<style type="text/css" id="internal style">
/*<![CDATA[*/
BODY {margin: 0 0 0 0; background-color:#FFFFFF ; }
/*]]>*/
</style>
<link href="fileadmin/template/main/res/stylesheet.css" rel="stylesheet" type="text/css" />

-=UncleByte=-
07.11.2008, 21:10
Любое расширение и в первую очередь css_styled_content добавляют свои css, которые и выводятся либо в этот файл, либо в тело страницы. Направить вообще все css во внешний файл можно указав config.inlineStyle2TempFile = 1.
Для того чтобы все подключалось правильно надо еще указать baseURL, от которого и будет вычислятся браузером путь к css.
Про различные значения media можно прочитать например на w3schools.com в разделе css и знать это достаточно важно, поскольку умело оперируя этим параметром можно сверстав одну страницу и подключив к ней много разных таблиц стилей не делать больше никаких других шаблонов для "альтернативных" версий - все они будут определяться уже как раз указанным типом media - для печати, для кпк, для экрана и т.д.

Falcon
12.11.2008, 00:19
Спасибо) постараюсь вникнуть в написаное..
терь у мя новый вопрос... как сделать чтобы между пунктами меню был знак "|" ?
сколько не пробовал у мя не получалось..

void
12.11.2008, 01:27
Нужно ввести его через HTML-код

-=UncleByte=-
12.11.2008, 19:30
Нужно ввести его через HTML-кодТочнее это называется html entities. Подробнее вот тут (http://www.w3schools.com/tags/ref_entities.asp) можно почитать или погуглить еще.