Autor Subiect: Probleme cu un template...  (Citit de 1688 ori)

andrei

  • Novice
  • *
  • Mesaje postate: 64
    • IT Focus
Probleme cu un template...
« : Ianuarie 12, 2007, 08:09:13 am »
:wink: Salutare tuturor! Eu sunt un incepator... Ma bucur ca am gasit site-ul acesta  :idea: Acesta e primul meu post, si intru direct cu o intrebare/nelamurire. Am urmat intocmai manualul Typo3 (Modern Template Building) dar nu am reusit sa fac ceea ce trebuia.
Am un sablon de site in HTML (exportat din Photoshop), care este aproape un site complet (ca si aspect; acum vreau ca textul sa fie introdus si gestionat din Typo3). Ceea ce trebuie sa fac in continuare este sa fac anumite parti din el dinamice - folosind Typo3. Pe scurt, am impresia ca nu folosesc corect template-ul (codul din 'setup'). In browser totul arata ok, dar nu pot sa inserez continut. Incerc sa explic. Codul pe care l-am pus este urmatorul:

content = TEMPLATE
 
content {
  template = FILE
  template.file = fileadmin/template/main/index.html

    BODY.all = 0
    BODY.all.subpartMarker = BODY
    HEAD.all = 0
    HEAD.all.subpartMarker = HEADER
    HEAD.rmTagSections = title
    TD.all = 1

relPathPrefix = fileadmin/template/main/
}

# Default PAGE object:
page = PAGE
page.typeNum = 0
page.10 < content

In fisierul HTML am folosit

<!-- ###R### -->
ceva
<!-- ###R### -->

In continuare, daca pun oriunde in campul setup din backend, pentru template - un cod de genul:

  workOnSubpart = BODY
  subparts.R = TEXT
  subparts.R.value = HELLO WORLD!

Ar trebui sa imi schimbe textul "ceva" in "HELLO WORLD!". Acest lucru nu se intampla, este ca si cand nu as fi dat ultimele linii de cod. Unde gresesc? Cum se face mai exact ceea ce vreau eu sa fac? (adica pur si simplu modificarea continutului)

Va multumesc foarte mult  :roll:
Bogdan Andrei  Craciun
Programator Web

http://www.bogdancraciun.com

tiberiu

  • Novice
  • *
  • Mesaje postate: 209
    • http://www.arobs.com
Re: Probleme cu un template...
« Răspuns #1 : Ianuarie 12, 2007, 09:36:58 am »
A trecut ceva timp de cand am citit tutorialele acelea... De fapt, ajungand la ultima parte a tutorialelor, la cel cu templavoila, am trecut direct la maparea template-urilor cu metoda asta.

In ultimul timp am renuntat la templavoila in favoarea markerelor si submarkerelor si am pastrat templavoia doar in caz de nevoie ptr. elemente de continut (FCE - Flexible Content Element). Mi se pare   mult mai flexibila metoda cu markere in template, pentru ca nu necesita mapari si remapari cand se modifica ceva in design.

Iata cum folosesc eu ac. metoda. Sper sa-ti fie de folos:


# Definesti obiectul pagina
page = PAGE
page.typeNum = 0

# body tag-ul... si stylesheet-ul..
page.bodyTag=<body>
page.stylesheet = fileadmin/css/style.css

# definesti elementele ce le va contine header-ul
# javascripturi, alte css-uri...

page.headerData = COA
page.headerData.10 = HTML
page.headerData.10.value = <script src="fileadmin/javascript/mini.js" type="text/javascript"></script>
page.headerData.20 = HTML
page.headerData.20.value = <!--[if lte IE 6]><link href="IE6.css" rel="stylesheet" type="text/css" /><![endif]-->
page.headerData.30 = HTML
page.headerData.30.value = <!--[if gte IE 7]><link href="IE6.css" rel="stylesheet" type="text/css" /><![endif]-->
page.headerData.40 = HTML
page.headerData.40.value = <script type="text/javascript" src="fileadmin/javascript/showhidethread.js"></script>

# intrarea 10 de tip template.
page.10  = TEMPLATE
page.10 {
  # template-ul tau fara <header> ... </header> care se pune mai sus si fara tag-ul <body>  
  template = FILE
  template.file = fileadmin/templates/main.html
 
  # si apoi markerele care le-ai pus le umpli cu continut
  subparts.MENU < temp.menu
  subparts.SUBMENU < temp.submenu
  subparts.CONTENT < styles.content.get
  marks.FOOTER < temp.footer
}


Codul html (main.html) va contine markerele respective:


<div class="meniu">
  <!-- ###MENU### -->
<ul class="general">...</ul>
  <!-- ###MENU### -->
</div>
 
<div class="meniuS">
    <!-- ###SUBMENU### -->
    <!-- ###SUBMENU### -->
</div>
<div class="continut">
  <!-- ###CONTENT### -->
  <!-- ###CONTENT### -->
</div>
<div class="footer">
  ###FOOTER###
</div>


Cam asta e tot. Urmeaza, bineinteles, sa definesti continuturile, respectiv temp.menu, temp.submenu, temp.footer.

Succes !!!
Tiberiu Contiu
PHP System Architect
AROBS Transilvania Software
str. Minerilor, nr. 63, Cluj-Napoca

www.arobs.ro , www.arobs.com

E-mail: tiberiu.contiu(at)arobs.com , tiberiu.contiu(at)yahoo.com
Skype:  tiberiu.contiu

radu

  • Novice
  • *
  • Mesaje postate: 42
    • http://www.pixelplant.ro
...
« Răspuns #2 : Ianuarie 12, 2007, 10:18:34 am »
cred ca cel mai simplu ar fi sa folosesti variabile temporare pentru asta. ele incep cu temp.nume_camp

pentru codul tau ar arata asa partea de SETUP:

temp.content = TEMPLATE
temp.content {
  template = FILE
  template.file = fileadmin/template/fisier.html

  workOnSubpart = BODY
  subparts.R < styles.content.get
  subparts.R2 < styles.content.getLeft
}

page = PAGE
page.stylesheet = fileadmin/template/fisier.css
page.typeNum = 0
page.10 < temp.content


iar fisier.html ar trebui sa arate asa

<html>
 <head>
 ...
 </head>
 <!-- ###BODY### inceput -->
 <body>
   <!-- ###R### inceput -->
   <!-- ###R### sfarsit -->
   <!-- ###R2### inceput -->
   <!-- ###R2### sfarsit -->
 </body>
 <!-- ###BODY### sfarsit -->
</html>


bun. cum adaugi continut. in partea de continut stii ca poti adauga in 4 coloane: Left, Normal, Right si Border. Aici in R iti insereaza partea din normal (styles.content.get) si in R2 partea inserata in Left (styles.content.getLeft). de obicei nu ai nevoie de mai mult de 2 parti de continut, dar daca vrei sa mai experimentezi si cu restul copii in variabile continut din styles.content.getRight si styles.content.getBorder

Daca tot nu iti apare continut pe pagina, verifica urmatoarele:
1. da un clear cache.
2. vezi daca e inclus in configurarea templateului urmatoarele parti statice (include static). La templateul paginii, unde sunt listate in tabel Constants, Setup jos de tot e un link "
Click here to edit whole template record". Include acolo in partea "Include static" content(default) si in partea "Include static(from extension)" selecteaza "Css Styled Content". Ar trebui sa mearga si fara una dintre ele, dar nu mai stiu care.

sper ca nu am uitat ceva.

numai bine,
  radu mogos
- PixelPlant -
solutii TYPO3 CMS si Magento eCommerce

http://www.pixelplant.ro

andrei

  • Novice
  • *
  • Mesaje postate: 64
    • IT Focus
Typo3 templating
« Răspuns #3 : Ianuarie 17, 2007, 06:54:16 pm »
:idea: In primul rand vreau sa va multumesc foarte mult pentru raspunsuri. Imi cer scuze, dar nu am mai avut timp sa intru pe forum.
Am incercat ceea ce ati spus voi, si functioneaza (in sfarsit)  :) Si am urmatoarele comentarii:

[Tiberiu] Interesant ca ati renuntat la templavoila, pentru ca sincer si eu prefer metoda cu marker-ele, dar eu va trebui sa folosesc templavoila si alte extensii, pentru ca asta mi se cere.

[Radu] Desi amandoua metodele prezentate de voi functioneaza, am ales sa folosesc pe cea prezentata de tine. Asta probabil pentru ca sunt incepator si prefer ceva cat mai simplu :)  Eu am mai adaugat cateva elemente, respectiv
relPathPrefix = fileadmin/main_template/
si alte continuturi.

O sa postez si alte intrebari  :wink:

Oricum mai am intrebari, dar probabil ca o sa le postez in alte parti ale forum-ului, poate e mai bine asa, sper ca si ceilalti care vor intra pe forum vor gasi aceste intrebari/raspunsuri folositoare.
Bogdan Andrei  Craciun
Programator Web

http://www.bogdancraciun.com