Zum Inhalt springen

zweiter warenkorb als übersicht

Erstellt am 14. März 2005 · 35 Antworten · letzte Antwort am 14. Juli 2005 · Seite 1 von 2

Tags: Frage

fourpoint ·

Hallo allerseits,

bei der Problematik zweiter Warenkorb schon weiter gekommen? Den Ansatz von Toyde kann ich nachvollziehen allerdings nicht ganz... anstelle des Warenkorb "Features" könnte man ja auch den Typ "overview" nehmen, der sich bereits auf Artikelanzahl und Gesmtpreis beschränkt, wie es bei alova auch der Fall ist...

Wie nur kann man dieses Ding nun permanent in das Grundlayout mit einbetten?

"Den Link "zum Warenkorb" setzt du hardcodet in html. "

Wie ist das zu verstehen? in das Grundtemplate der Seite?

Wäre wirklich nett, wenn mir dazu jemand antworten könnte... bestenfalls natürlich toyde! 🙂

LG,
André.

toyde ·

Hallo Leute.

Ich helfe euch doch gerne - doch ein wenig geposteter Code und Configs wäre da schon was, denn dann sehen wir zusammen, an was es happert.

Zum Problem 2. Shop-Template (das ja permanent dort stehen muss):

1. Wer sich mit php auskennt ist natürlich schnell durch das Problem: Eine weitere Möglichkeit "summary" in der Shop-Klasse (file.tx) einfach einzubetten, indem man die gewünschten Parameter aus der overview zusammenkratzt.

2. Da das aber wahrscheinlich die Wenigsten können,
kann man ein 2. Shop-Template anlegen. Das geht so:
- Im Root Template im dropdown-Menü > typoscript object browser findet man die Constants und Setups der Shop-Klasse. Hier findet man unter plugin>shop-extention den Pfad zum Defaulttemplate products.tmpl (heisst ähnlich). Wenn man weiss wo es liegt, dann browst man mit FTP-Client in dieses Verzeichnis und legt sich eine Kopie an "minioverview.tmpl", der Name ist ja egal.
- weiter setzt man nun den Marker, der das minishop-Template ganz einfach anzeigt.

marks.MYMINISHOP = FILE
marks.MYMINISHOP.value = files/minioverview.tmpl

Wichtig: evtl. ist meine File-Deklaration nicht korrekt - einfach im tsref mal nach "file" suchen.
- das minishop-Template mit der .tmpl-Endung muss natürlich noch beschnitten werden, auf die gewünschte Grösse (Table-Tags auf Breite und Höhe beschränken) und alle weiteren Anzeigen, wie List-View, Single-View, etc. herausschneiden, damit nur die gewünschte Ansicht mit den gewünschten selbst angepassten Werten im Frontend stehen bleibt.

Eine weitere Möglichkeit: Ihr seht in den Tuts und Dokus nach, wie der Parameter heisst, der die Totalsumme ausgibt und catcht per GET/POST diesen Wert, um ihn via TypoScript in einem Marker auszugeben - dann erspart ihr euch die .tmpl-Bastelei. Habe ich noch nie gemacht, aber evtl. kommt man darauf, wenn man die Klassen studiert, die dasselbe ausführen.

So, das sollte als Anstubbs doch mal reichen.
cu

fourpoint ·

Hallo toyde,

ich halte mich mal an Lösung 2.

im Object Browser findet sich folgender Pfad:

[templateFile]=EXT:tt_products/pi/products_template.tmpl

Eine Kopie der template Datei zu erstellen geht klar...

aber wo wird nun dieser Codeschnipsel eingefügt:

marks.MYMINISHOP = FILE
marks.MYMINISHOP.value = files/minioverview.tmpl

LG,
André.

toyde ·

sry sry, da habe ich den Gedanken nicht zu Ende Gedacht. (natürlich war das Absicht, um eure Hirnzellen etwas auf Trab zu halten 😉 )

-> im Root Template kannst du die marks im Setup definieren. Wie genau du dein Root-Script definiert hast kann ich natürlich nicht wissen. Schreibe die Marker mal hinter die subparts hin.
Im HTML-Template muss natürlich

###MYMINISHOP###

stehen, das gibt den Wert aus, den du im TypoScript übergibts (in unserem Fall das zugeschnittene minishop.tmpl)

so, jetzt solltest du weiterkommen.

edit:
-----
bitte beachte doch meinen Tipp, dass die FILE-Config nicht korrekt ist und schau im tsref nach, ok?

fourpoint ·

Also, ich habe diesen Code an das Ende des Setup der Seite gesetzt:

marks.MYMINISHOP = FILE
marks.MYMINISHOP.value = fileadmin/template/greenline/minioverview.tmpl

und eine Template Datei "minioverview.tmpl" erstellt:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
	<TITLE>pz-systeme Shop-Template</TITLE>
</head>
<body>
<br>
<H1>pz-systeme Shop-Template</H1>
<h3>BASKET_OVERVIEW_TEMPLATE</h3>
<em>The basket overview</em><br>
<br>
<br>
<!-- ###BASKET_OVERVIEW_TEMPLATE### begin -->
<table border="0" cellspacing="0" cellpadding="0">
<tr>
	<td><!--###LINK_BASKET###-->###IMAGE_BASKET###<!--###LINK_BASKET###--></td>
	<td>###NUMBER_GOODSTOTAL### Artikel</td>
	<td>###PRICE_GOODSTOTAL_TAX### Euro</td>
</tr>
</table>
<!-- ###BASKET_OVERVIEW_TEMPLATE### end -->

<!-- ###BASKET_OVERVIEW_EMPTY### begin -->
Ihr Warenkorb ist leer.
<!-- ###BASKET_OVERVIEW_EMPTY### end -->
</body>
</html>

muss dieser Marker:

###MYMINISHOP###

in der Datei "minioverview.tmpl" die Marker ersetzen?
Oder muss dieser Marker in die Layout Template Datei der Webseite eingesetzt werden? Dort wird er nämlich nicht ersetzt, das habe ich ausprobiert...

benötigst Du weitere Code Ausschnitte?

LG,
André.

PS. Danke, dass Du dich so intensiv mit dem Problem auseinander setzt und sorry wenn ichs immer noch nicht ganz habe...

toyde ·

1. böse mit dem Finger fuchtelt:
vergleiche

marks.MYMINISHOP = FILE 
marks.MYMINISHOP.value = fileadmin/template/greenline/minioverview.tmpl

mit

marks.MYMINISHOP = FILE 
marks.MYMINISHOP.file = directories/minishop.tmpl

habe dir extra noch die Definition im tsref rausgesucht - aber einbinden musst du es schon selbst.

2. der Marker ###MYMINISHOP### muss so wie er da steht in DEIN Design-Template, in den auch Content, Menüs, etc. gewrappt("reingeschrieben") werden. Am Besten siehst du dafür ein div- oder td-Tag dafür vor.

<td>###MYMINISHOP###</td>

3. Warum bei dir nichts ersetzt wurde wird mit 1. erklärt - die Definition war/ist falsch.

4. Noch zur Erklärung zu deinem Shop Template:

<!-- ###BASKET_OVERVIEW_TEMPLATE### begin --> 
<table border="0" cellspacing="0" cellpadding="0"> 
<tr> 
   <td><!--###LINK_BASKET###-->###IMAGE_BASKET###<!--###LINK_BASKET###--></td> 
   <td>###NUMBER_GOODSTOTAL### Artikel</td> 
   <td>###PRICE_GOODSTOTAL_TAX### Euro</td> 
</tr> 
</table> 
<!-- ###BASKET_OVERVIEW_TEMPLATE### end --> 

<!-- ###BASKET_OVERVIEW_EMPTY### begin --> 
Ihr Warenkorb ist leer. 
<!-- ###BASKET_OVERVIEW_EMPTY### end -->

Dies ist der Code, den dein Shop-Template letztendlich benötigt. Wie du siehst, wird diese Tabelle hier oben mit den Informationen darin gefüllt.
Wiederum diese ganze Tabelle, bzw. dein angepasstes minishop.tmpl soll dann mittels des korrekten TypoScript in den Marker gedrückt werden. D.h., dort, wo ###MYMINISHOP### in deinem Design-Template steht, werden diese oberen Daten eingepflanzt.

that's it.

fourpoint ·

Hallo toyde,

zu 1. Schande über mein Haupt -> korrigiert

zu 2. OK

zu 3. leider wird der Marker nicht ersetzt... er wird einfach als Text auf der Seite ausgegeben "###MYMINISHOP###"

Ich poste mal die ganze Setup Datei... Der Code für den Warenkorb overview steht ganz unten. Ich vermute das Problem hat etwas damit zu tun, dass das parsing bislang auf andere Weise erfolgt und Typo gar nicht weiß, dass es da was ersetzen soll...

Trotzdem stehe ich vor dem Problem wie ein Ochs vor'm Berg...

Vielleicht kannst Du mir ja nochmal weiterhelfen... o.O

temp.menu_1 = HMENU
#First level menu-object, textual
temp.menu_1 {
  1 = TMENU
  1.NO.allWrap = <div class="menu_a"> | </div>
}

########################################################
########################################################
temp.menu_1.1.SPC = 1
temp.menu_1.1.SPC {
afterImg.import = uploads/media/
afterImg.import.field = media
afterImg.import.listNum = 0
afterImgLink = 1
allWrap = | <br />
doNotShowLink = 1
}

########################################################
########################################################

# Second level menu-object, textual
temp.menu_1.2 = TMENU
temp.menu_1.2 {
NO.stdWrap.htmlSpecialChars = 1
# Normal state properties
NO.allWrap = <div class="menu_a"> | </div>
}

temp.path = HMENU
# Setting the special property to "rootline" - this will produce a "Path-menu"
temp.path.special = rootline
temp.path.special.range = 2|-1

# First level menu-object, textual
temp.path.2 = TMENU

# Wrapping value for the whole menu:
temp.path.2.wrap = <p>Sie sind hier:&nbsp; | </p> 
temp.path.2 {
# Normal state properties appending " > " to all elements but the last one. 
# (See "optionSplit")
NO.allWrap =   |&nbsp;&gt;&nbsp; |*||*|   | 
}

# Configuring the Auto-Parser for main template:
plugin.tx_automaketemplate_pi1 {
  content = FILE
  content.file = fileadmin/template/greenline/index.htm
  elements {
    BODY.all = 1
    BODY.all.subpartMarker = DOCUMENT_BODY
    HEAD.all = 1
    HEAD.all.subpartMarker = DOCUMENT_HEADER
    HEAD.rmTagSections = title

    DIV.id.head = 1
    DIV.id.head.subpartMarker = head

    DIV.id.menu = 1
    DIV.id.menu.subpartMarker = menu


    DIV.id.content = 1
    DIV.id.content.subpartMarker = content

    DIV.id.rightcol= 1
    DIV.id.rightcol.subpartMarker = rightcol

     DIV.id.pathmenu= 1
    DIV.id.pathmenu.subpartMarker = pathmenu

  }

  relPathPrefix = fileadmin/template/greenline/
}



temp.mainTemplate = TEMPLATE
temp.mainTemplate {
  template =< plugin.tx_automaketemplate_pi1
  workOnSubpart = DOCUMENT_BODY
  subparts.pathmenu < temp.path
  subparts.menu < temp.menu_1
  subparts.content < styles.content.get
  subparts.rightcol< styles.content.getBorder

}


# Main TEMPLATE cObject for the HEAD
temp.headTemplate = TEMPLATE
temp.headTemplate {
# Feeding the content from the Auto-parser to the TEMPLATE cObject:
template =< plugin.tx_automaketemplate_pi1
# Select only the content between the <head>-tags
workOnSubpart = DOCUMENT_HEADER
}

# Default PAGE object:
page = PAGE
page.config.admPanel = 1
page {
stylesheet = FILE
stylesheet.file = fileadmin/template/greenline/css/layout.css
}
page.typeNum = 0
# Copying the content from TEMPLATE for <body>-section:
page.10 < temp.mainTemplate
# Copying the content from TEMPLATE for <head>-section:
page.headerData.10 < temp.headTemplate

plugin.tt_news.templateFile = fileadmin/template/greenline/index.htm

RTE.default{
contentCSS = FILE
contentCSS.file = fileadmin/template/greenline/css/formate.css
}
tt_content.stdWrap.editPanel = 0
page.stylesheet.file = 


#######################################################################
#######################################################################
#test zu tt_//zk_products
#plugin.tt_products { 
#        priceTagObj.file { 
#            backColor = #FFFFFF #- hellgrau 
#            10.offset = 0,25
#            10.fontSize = 14 
#        } 
#}

## Includes the productsLib:
includeLibs.ts_products = EXT:tt_products/pi/class.tx_ttproducts.php


## This enables the tt_content.list item to display the guestbook:
plugin.tt_products >
plugin.tt_products = USER
plugin.tt_products {
  userFunc = tx_ttproducts->main_products

  templateFile = {$plugin.tt_products.file.templateFile}
  pid_list.field = pages
  recursive.field = recursive
  code.field = tt_products_code

  limit = {$plugin.tt_products.limit}
  image {
    file.maxW = {$plugin.tt_products.maxW_single}
    imageLinkWrap = {$plugin.tt_products.clickEnlarge}
    imageLinkWrap {
      enable = 1
      bodyTag = <BODY>
      wrap = <A href="javascript:close();"> | </A>
      width = 400
      height = 400

      JSwindow = 1
      JSwindow.newWindow = 1
      JSwindow.expand = 17,20
    }
  }
  listImage < .image
  listImage.file.maxW = {$plugin.tt_products.maxW_list}
  listImage.file.maxH = {$plugin.tt_products.maxH_list}
  listImage.imageLinkWrap >

  basketImage < .image
  basketImage.file.maxW = {$plugin.tt_products.maxW_basket}
  basketImage.imageLinkWrap = {$plugin.tt_products.clickEnlarge_basket}

  image.wrap = | <BR>

  noImageAvailable = {$plugin.tt_products.file.noImageAvailable}

  wrap1.wrap = {$plugin.tt_products.wrap1}
  wrap2.wrap = {$plugin.tt_products.wrap2}
  color1.wrap = {$plugin.tt_products.color1}
  color2.wrap = {$plugin.tt_products.color2}
  color3.wrap = {$plugin.tt_products.color3}

  displayListCatHeader = {$plugin.tt_products.displayListCatHeader}
  displayBasketCatHeader = {$plugin.tt_products.displayBasketCatHeader}

  PIDitemDisplay = {$plugin.tt_products.PIDitemDisplay}
  PIDsearch = {$plugin.tt_products.PIDsearch}
  PIDbasket = {$plugin.tt_products.PIDbasket}
  PIDstoreRoot = {$plugin.tt_products.PIDstoreRoot}
  PIDmemo = {$plugin.tt_products.PIDmemo}
  PID_sys_products_orders = 0
#   PIDinfo = 43
#   PIDfinalize = 46
#   PIDthanks = 47

  parseFunc < styles.content.parseFunc
  categoryHeader = TEXT
  categoryHeader.current = 1

  priceDec = {$plugin.tt_products.priceDec}
  priceDecPoint = {$plugin.tt_products.priceDecPoint}
  priceThousandPoint = {$plugin.tt_products.priceThousandPoint}
  currencySymbol = EUR

  TAXpercentage = {$plugin.tt_products.TAXpercentage}
  TAXincluded = {$plugin.tt_products.TAXincluded}

###################TESTZUSATZ ANFANG ##############
# Email zur Bestellung 
plugin.tt_products { 
orderEmail_fromName = Greenline Shop
orderEmail_from = --.--@--.de
orderEmail_to = --.--@--.de
} 
###################TESTZUSATZ ENDE ##############

  lockLoginUserInfo = 0
  requiredInfoFields = name, address, telephone, email
  orderNumberPrefix = B
  orderEmail_from = Greenline Shop
  orderEmail_fromName = --.--@--.de
  orderEmail_to = --.--@--.de
  orderEmail_htmlmail = 1
  email_notify_default = 1
  statusCodes {
# 1: Incoming orders
    1 = Kunde hat den Bestellvorgang abgeschlossen
# 2-49: Useable by the shop admin
    20 = Shop wartet auf Zahlungseingang
    30 = Ware zum Kunden versandt
# 50-99: Useable by the customer
    50 = Kunde bittet um Stornierung
    60 = Nachricht des Kunden an den Shop
# 100- : Order will be deleted
    100 = Bestellung verschickt und abgeschlossen
    101 = Bestellvorgang abgeschlossen
    200 = Bestellung storniert
 }
  update_code = admin
  statusDate_stdWrap.strftime= %e.%m.%y %H:%M
  orderDate_stdWrap.strftime= %e.%m.%y


  usePriceTag = {$plugin.tt_products.usePriceTag}

  priceTagObj = IMAGE
  priceTagObj.wrap = |<br>
  priceTagObj.file = GIFBUILDER
  priceTagObj.file {
    backColor = #FFFFFF
    XY = [10.w]+10,[10.h]+5
    10 = TEXT
    10 {
      text = ###PRICE###
      offset = 0,0
      fontColor = #000000
      fontSize = 16
      align = center
      niceText = 1
    }
  }

  max_note_length = {$plugin.tt_products.max_note_length}

  bulkilyWarning = {$plugin.tt_products.bulkilyWarning}
  bulkilyAddition = {$plugin.tt_products.bulkilyAddition}
  specialPreparation = {$plugin.tt_products.specialPreparation}

  createUsers = {$plugin.tt_products.createUsers}
  PIDuserFolder = {$plugin.tt_products.PIDuserFolder}
  memberOfGroup = {$plugin.tt_products.memberOfGroup}

  stdSearchFieldExt = subtitle
  PIDagb = {$plugin.tt_products.PIDagb}
  agbtarget = {$plugin.tt_products.agbtarget}
  AGBattachment = {$plugin.tt_products.AGBattachment}

  generateCSV = {$plugin.tt_products.generateCSV}
  CSVdestination = {$plugin.tt_products.CSVdestination}
  CSVfields = {$plugin.tt_products.CSVfields}
  CSVinOneLine = {$plugin.tt_products.CSVinOneLine}

  alwaysInStockMessage = {$plugin.tt_products.alwaysInStockMessage}
  inStockPieces = {$plugin.tt_products.inStockPieces}

  newItemDays = {$plugin.tt_products.newItemDays}

  substitutePagetitle = {$plugin.tt_products.substitutePagetitle}
}

## EXAMPLE payment config:
plugin.tt_products.payment {
  radio = 1
  10.title = Rechnung
  10.image.file =
  10.priceTax =
  10.priceNoTax =
  10.visibleForGroupID = 1

  20.title = Vorkasse
  20.image.file =
  20.priceTax =
  20.priceNoTax =

  30.title = Nachnahme
  30.image.file =
  30.priceTax = 7.50
  30.priceNoTax = 6.47

  40.title = Kreditkarte
  40.image.file =
  40.priceTax =
  40.priceNoTax =
  40.addRequiredInfoFields = kk_nr,kk_ablauf,kk_pruefcode
}

## EXAMPLE shipping config:
plugin.tt_products.shipping {
  10.title = Versand innerhalb Deutschlands
  10.image.file =
  10.priceTax = 5.00
  10.priceNoTax = 5.00

  20.title = Versand nach Österreich
  20.image.file =
  20.priceTax = 6.00
  20.priceNoTax = 6.00

  30.title = Versand sonstige Länder (Preis auf AB!)
  30.image.file =
  30.priceTax =
  30.priceNoTax =
}

## This enables the record item to display product items
tt_products >
tt_products = < plugin.tt_products
tt_products.displayCurrentRecord = 1

######Warenkorb Ansicht#########
marks.MYMINISHOP = FILE
marks.MYMINISHOP.file = fileadmin/template/greenline/minioverview
toyde ·

Mir fällt auf: möglicherweise ein Denkfehler von mir!

-> Du gibst im MiniShop ja die Overview aus. Doch woher weiss typo3 was eine Overview im Marker ist !?
Dazu muss schliesslich das Plugin mit der Overview her, aber der Marker hat ja nix mit dem Plugin zu tun. Hmpf..

Vorschlag: Du erstellst eine "Fremdeinhalts-Seite". Das muss klappen, denn das habe ich mit News und weiteren Extentions schon geschafft. Der Sinn darin: Du kannst eine Seite erstellen, die einfach nicht im Menü erscheint, aber du per Marker an gewünschter Position ausgeben lässt. So hast du in dieser versteckten Page ein Plugin, definierst dort in einem neuen TypoScript für diese versteckte Seite das minishop.tmpl und gibst es statisch in deinem Marker ###MYMINISHOP### aus.

Mal sehen ob wir das hinbekommen:
1. erstelle einen Sysordner(egal wo) im PageTree
2. Du erstellst darin eine normale Page. Und in der Page erstellst du ein Shop-Plugin mit der Config "Overview"
3. In dieser neuen Page musst du dein gewünschtes shop.tmpl definieren (haben wir ja schon besprochen wie)
4. schmeiss das in Dein root-TypoScript:

marks.MYMINISHOP = RECORDS
marks.MYMINISHOP  { 
   tables = tt_content
   ## plugin_container_id muss durch die ID des
   ## Plugins ersetzt werden. 
   source = plugin_container_id
   ## Bei verschachtelten Pages ist dontCheckPid = 1 nötig
   dontCheckPid = 1}

5. Der Marker ###MYMINISHOP### gibt das Inhaltselement (hier das Plugin aus) das mit "source = plugin_container_id" angesprochen wird.

Und dies sollte das gewünschte Resultat erzeugen.

edit:
Mein Fehler - hatte die letzte Klammer "}" in obigem Code vergessen. sry. jetzt isses korrigiert.

toyde ·

erm... mal eine Frage an Dich.

temp.mainTemplate = TEMPLATE 
temp.mainTemplate { 
  template =< plugin.tx_automaketemplate_pi1 
  workOnSubpart = DOCUMENT_BODY 
  subparts.pathmenu < temp.path 
  subparts.menu < temp.menu_1 
  subparts.content < styles.content.get 
  subparts.rightcol< styles.content.getBorder 
}

Ich glaube nicht, dass du genau weisst, was temp.mainTemplate ist, oder?

Ich sags mal so: "hier werden deine html-Designteile definiert und gefüllt" ..
Vielleicht kommst du jetzt selbst drauf, warum der Marker nicht greift ..
Der muss logischerweise - ich zitiere mich - "hinter den subparts" stehen.
*hüstel*

fourpoint ·

heißt das nun Kommando zurück zur alten Lösung und den Code so umschreiben:

temp.mainTemplate = TEMPLATE
temp.mainTemplate {
  template =< plugin.tx_automaketemplate_pi1
  workOnSubpart = DOCUMENT_BODY
  subparts.pathmenu < temp.path
  subparts.menu < temp.menu_1
  subparts.content < styles.content.get
  subparts.rightcol< styles.content.getBorder
  marks.MYMINISHOP = FILE
  marks.MYMINISHOP.file = fileadmin/template/greenline/minioverview.tmpl
}

oder doch den neuen Ansatz weiter verfolgen?

fourpoint ·

ok, ich bin mal schnell einen Schritt zurück zum alten Ansatz gegangen... nun wird der Marker ersetzt... allerdings durch das komplette Template... ohne dass die darin enthaltenen Marker ersetzt werden... 🙁

sieht dann ungefähr so aus:

<img src="http://82.165.27.31/ff/fileadmin/template/greenline/tut/t3_screen_02.jpg">

das wiederum dürfte dann hiermit zu tun haben:

Mir fällt auf: möglicherweise ein Denkfehler von mir!

-> Du gibst im MiniShop ja die Overview aus. Doch woher weiss typo3 was eine Overview im Marker ist !?
Dazu muss schliesslich das Plugin mit der Overview her, aber der Marker hat ja nix mit dem Plugin zu tun. Hmpf..

toyde ·

Genau.

Das war es ja, was mir aufgefallen ist.
Das File übergeben hilft ja nicht, wenn das Plugin die minishop.tmpl-internen Marker nicht ersetzt - und genau das hast du ja per ScreenShot gezeigt.

Habe dir einen Ansatz oben gepostet (mit Sysordner, etc.) der das Problem lösen sollte.
Probiere es doch aus.

edit:
zu deinem Post mit den subparts:
Das war eine Bemerkung meinerseits, da - egal welcher Lösungsansatz - du die Marker so nicht gebacken bekommst.

fourpoint ·

jep, da saß ich gerade dran... habe nur die einzelnen Schritte dokumentiert um fehler auszuschließen...

Also, folgendes habe ich nun getan:

1. einen Sys Ordner erstellt (Name: Ordner)
2. in diesem Ordner eine Standardseite, Unterseite erstellt (Name: Shop Plugin)
3. Dieser Unterseite ein Content Element vom Typ Plugin products gegeben, mit dem Code "OVERVIEW"
4. Um dem Setup dieser Unterseite (Name: Shop Plugin) den folgenden Code:

marks.MYMINISHOP = FILE
marks.MYMINISHOP.file = fileadmin/template/greenline/minioverview.tmpl

anfügen zu können, habe ich die Option "create extension template..." gewählt und dem Setup dieser Unterseite den obigen Code eingefügt.

5. Habe den folgenden Code in das Setup der Root Seite geschrieben (ganz unten und allein)

marks.MYMINISHOP = RECORDS
marks.MYMINISHOP  {
   tables = tt_content
   ## plugin_container_id muss durch die ID des
   ## Plugins ersetzt werden.
   source = 139
   ## Bei verschachtelten Pages ist dontCheckPid = 1 nötig
   dontCheckPid = 1
}

<img src="http://82.165.27.31/ff/fileadmin/template/greenline/tut/t3_screen_01.jpg">

Das Ergebnis ist nun, dass der Marker wieder als "###MYMINISHOP###" ausgegeben wird...

Ich denke der Fehler liegt in Punkt 4...

toyde ·

Bitte mitdenken.

1. Du hast im Root-Template einen Marker namens MYMINISHOP und im Ext-Template den Marker namens MYMINISHOP - was ist da wohl falsch?

2. Warum machst du das?:

Habe den folgenden Code in das Setup der Root Seite geschrieben (ganz unten und allein)

ein zwei Posts vorher haben wir doch gerade ausgemacht, dass der Marker im Root-Template woanders hin muss, und nicht an's Ende.

Noch zu 1.:
Wie du das Standard-Shop-Template einibindest haben wir doch besprochen? Weshalb machst du das für die Page "Shop Plugin" nicht genauso?
Habe das Gefühl in jedem Schritt erfindest du was Neues. Sry, aber ich muss dir ans Herz legen die Tutorials besser zu studieren. Wenn Du nicht einmal weisst, welche Fragen/Philosophie immer wieder auftauchen, hat das Ganze wenig Sinn.

cu

fourpoint ·

Ok, habe nun den Teil im root Setup nun unter sie Subparts gehängt, ich wusste nicht, dass man innerhalb einer geschweiften Klammer nochmal Klammern kann {{}}

zu 1. willst du darauf hinaus, dass der Pfad angepasst werden muss oder darauf das der Name doppelt existiert... ich habe ein wenig rumgetestet... den Pfad verändert und den Namen Testweise auch es hat nicht funktioniert... auf etwas anderes?

bei der Seite Shop-Plugin wird das Template doch so eingebunden wie im Root Template... oder muss da der komplette subpart Teil auch noch mit rein?

edit:
Der Marker ist nach der Änderung zu 2. nun nicht mehr sichtbar.

toyde ·

- Dass dein Marker verschwindet heisst: Er wird ersetzt, Gratulation
- Dass dein Marker leer ist heisst: Wird korrekt ersetzt, aber mit nix gefüllt. Darum leer.

Weiter, Du möchtest doch Folgendes:
Einen "Mini-Shop" für die Summentotal-Übersicht neben dem normalen Shop.
D.h. in typoianisch:
"Der gleiche Shop, aber 2 Templates" - macht Sinn, oder?

Das Root-Template und seine subparts sagen:
Root: "ich bin die Firma, der Boss"
subparts: "wir sind Arbeiter in der Firma"
-> jetzt klar was subparts sind?
Subparts definieren beispielsweise deinen Content in der Mitte. In diesem Subpart, der in html ja mit <!--SUBPART--> gesetzt wird, wird je Seite der Inhalt aus dem Backend ins Frontend reingeworfen.

So, nach diesem Ausholen zu deinem Post:
Nein, du musst in der Seite "Shop Plugin" keine neuen Subparts definieren - die stehen ja schon alle.
Alles was du brauchst, ist, dass deine Seite "Shop Plugin" weiss, welches .tmpl-File es benötigt.

Wie man das Standard .tmpl-File definiert weisst du doch !!!!!
Dann mach dasselbe doch einfach in der Seite "Shop Plugin".

Wenn das nicht sitzt, dann fang an Tuts zu lesen (lieber Tipp, keine böse Kritik).

fourpoint ·

Hallo toyde,

Alles was du brauchst, ist, dass deine Seite "Shop Plugin" weiss, welches .tmpl-File es benötigt.

demnach würde nich nun:

temp.mainTemplate = TEMPLATE
temp.mainTemplate {
  template =< plugin.tx_automaketemplate_pi1
  marks.MYMINISHOP = FILE
  marks.MYMINISHOP.file = fileadmin/template/greenline/minioverview.tmpl
}

einsetzen, was nichts bringt...

d.h.

Wie man das Standard .tmpl-File definiert weisst du doch !!!!!

ich scheine es nicht zu wissen

Wenn das nicht sitzt, dann fang an Tuts zu lesen (lieber Tipp, keine böse Kritik).

Als böse Kritik würde ich nach diesem Tag gar nichts von Dir auffassen... manch anderer hätte schon längst die Segel gestrichen, vielen Dank für deine Geduld! Ich hatte nur gehofft es wäre irgendwie machbar... und Tutorials zu dem Thema habe ich bislang leider keine finden können... rumprobieren gerät bei T3 häufig zum Domino Day und wenn man nicht weiß, wo man anzusetzen hat führt oft schon der erste Schritt auf die falsche Fährte....

Kannst Du mir nicht vielleicht doch sagen, wie ich die die Template Datei zuweise?

LG,
André.

toyde ·

Gehe im Root-Template auf dein TypoScript Template und wähle rechts oben "typoScript object browser".
Klicke dich dort durch, bis zum plugin>tt_products (oder wie das bei dir auch immer heisst).

Dort steht als "template" oder "file" z.B. dein products_template.tmpl.
Bei meinem Standardshop:
"plugin.tt_products.templateFile = fileadmin/verzeichnisse/products_template.tmpl"

Wenn du diesen Pfad gefunden hast, dann kopiere ihn in deine Seite "Shop Plugin" und setze anstatt

plugin.tt_products.templateFile = fileadmin/verzeichnisse/products_template.tmpl

Folgendes:

plugin.tt_products.templateFile = fileadmin/verzeichnisse/myPimpedUpShopTemplate.tmpl