commerce und fesearchintable wurde Beantwortet

Autor Nachricht
Verfasst am: 31.03.2008 [15:27]
FredFussbroich

[Themenersteller]
dabei seit: 10.08.2007
Beiträge: 22

moin.

ich hänge jetzt seit geraumer zeit an einem problem und kriege es einfach nicht gelöst. vielleicht hat ja jemand von euch einen lösungsvorschlag.

ich habe commerce 0.9.2 im einsatz und benutze zum artikel suchen die extension fesearchintable 0.2.1. das funktioniert auch alles wunderbar.

was ich nicht hinbekomme: das suchformular soll in der sidebar der seite sein und die ergebnisse im content-bereich angezeigt werden.

mein ts sieht so aus:

Typoscript:Zeilennummerierung:  An / Aus

  1. temp.tx_fesearchintable_pi1 < plugin.tx_fesearchintable_pi1
  2.  
  3. temp.tx_fesearchintable_pi1 {
  4.        
  5.         searchTables {
  6.                 tt_news >
  7.                 tx_commerce_products = 1
  8.                 tx_commerce_products.name = Products
  9.                 tx_commerce_products.fields = title
  10.                 #,description,teaser,subtitle
  11.                 tx_commerce_products.selectAdditionalParams = AND 1=1
  12.                 tx_commerce_products.pidList = 233
  13.                 tx_commerce_products.recursive = 1
  14.                
  15.                
  16.                 tx_commerce_products.selectAdditionalParams = AND tx_commerce_products.manufacturer_uid LIKE '%{GPvar:tx_fesearchintable_pi1|manufacturer_uid}%'
  17.                 tx_commerce_products.selectAdditionalParams.insertData = 1
  18.                
  19.                
  20.                
  21.  
  22.                 tx_commerce_products.listHeader = COA
  23.                 tx_commerce_products.listHeader {
  24.                         10 = TEXT
  25.                         10.value = Produkte
  26.                         10.wrap = <h3 style="background-color:#cccccc; color:white; padding: 4px">|</h3>
  27.                 }
  28.  
  29.                 tx_commerce_products.listItem = COA
  30.                 tx_commerce_products.listItem {
  31.                         stdWrap.wrap = <li>|</li>
  32.                         10 = TEXT
  33.                         10.field = title
  34.                         10.wrap = <strong>Produkt: </strong><strong style="color:#006699;">|</strong>
  35.                         20 = TEXT
  36.                         20.field = teaser//description
  37.                         20.crop = 120|...
  38.                         30 = TEXT
  39.                         30.value = Artikel anzeigen  »
  40.                         30.typolink.parameter = 228
  41.                         30.typolink.wrap = <em>|</em>
  42.                         30.typolink.ATagBeforeWrap = 1
  43.                         30.typolink.additionalParams.dataWrap = &tx_commerce_pi1[showUid]={field:uid}&tx_commerce_pi1[catUid]={field:categories}
  44.                 }
  45.                 tx_commerce_products.listStdWrap.wrap = <ol style="margin-top:-10px">|</ol>
  46.  
  47.                 #tx_commerce_products.singleView < plugin.tx_commerce_products
  48.                 #tx_commerce_products.singleView.code >
  49.                 #tx_commerce_products.singleView.code = SINGLE
  50.                
  51.                
  52.                
  53.                
  54.         }
  55.        
  56.        
  57.        
  58.         form = FORM
  59.         form.data.cObject = COA
  60.         form.data.cObject {
  61.    
  62.                         # First we generate the static part of the string.
  63.                         #5 = TEXT
  64.                         #5.value = Artikel: | sword=input,30 
  65.                         #5.value.wrap = |:
  66.                        
  67.                         10 = TEXT
  68.                         10.value =  Hersteller: | manufacturer_uid=select | =,
  69.                        
  70.                         20 = CONTENT
  71.                         20 {
  72.                                 # Daten aus der Datenbank lesen
  73.                                 # Die Tabelle aus der wir die Daten lesen wollen
  74.                                 table = tx_commerce_manufacturer
  75.                                 select.pidInList = 232
  76.                                 # Hier werden die Label/Value Paare für die Selectbox generiert
  77.                                 # des Paar ist durch K omma getrennt
  78.                                 renderObj = TEXT
  79.                                 renderObj.dataWrap = {field:title}={field:uid},
  80.                                 # Jetzt wird noch das letzte Komma entfernt
  81.                                 stdWrap.substring = 0,-1
  82.                                 }
  83.                        
  84.                        
  85.                         #30 = TEXT
  86.                         #30.value = submit=submit | LLL:EXT:fesearchintable/pi1/locallang.php:label.search
  87.                         }
  88.        
  89.        
  90.        
  91.  
  92.         form.type = {$plugin.tx_fesearchintable_pi1.resultsPID}
  93.         form.locationData = 1
  94.         form.layout = <tr><td>###LABEL###</td><td> ###FIELD###</td></tr>
  95.         #form.labelWrap.wrap = <strong>|</strong> 
  96.         form.stdWrap.wrap = <table cellspacing="2" cellpadding="2" border="0">|</table>
  97.         form.wrapFieldName = tx_fesearchintable_pi1[|]
  98.         form.dataArray.15.insertData = 1
  99.           
  100.         searchAdditionalPiVars {
  101.         manufacturer_uid = Hersteller
  102.     }
  103. }



über anmerkungen/vorschläge wäre ich sehr dankbar.


gruß
Verfasst am: 02.04.2008 [09:33]
saschae

dabei seit: 13.01.2006
Beiträge: 133

wo genau liegt dein problem?
Verfasst am: 02.04.2008 [09:43]
FredFussbroich

[Themenersteller]
dabei seit: 10.08.2007
Beiträge: 22

moin.

mein problem war: das suchformular soll in der sidebar der seite sein und die ergebnisse im content-bereich angezeigt werden

hat sich aber gestern abend erledigt indem ich gerafft habe, wie ich den ts-code auseinandernehmen und in die verschiedenen bereiche verteilen muss, damit ich das gewünschte ergebnis erzielen kann.

bin gerade etwas unter zeitdruck, wenn aber jemand die lösung braucht: einfach hier kurz reinschreiben, ich poste das dann.


gruß
Verfasst am: 04.05.2008 [17:46]
claudia2

dabei seit: 15.12.2004
Beiträge: 246

Bescheid :)

mich würds interessieren, wie du das gelöst hast. möchte eine Suche nach Artikelnummer einsetzen...

Danke im voraus!

http://www.ideenwerft.com
Verfasst am: 05.05.2008 [09:36]
FredFussbroich

[Themenersteller]
dabei seit: 10.08.2007
Beiträge: 22

claudia2 schrieb:

Bescheid :)

mich würds interessieren, wie du das gelöst hast. möchte eine Suche nach Artikelnummer einsetzen...

Danke im voraus!


moin.

ich poste dir mal den code mit dem die suche bei mir läuft, ok?

die constants als ts-template für das formular in der sidebar:
Typoscript:Zeilennummerierung:  An / Aus

  1. temp.tx_fesearchintable_pi1 {
  2.        
  3.         searchTables {
  4.                 # id des commerce ordners
  5.                 tx_commerce_products.pidList = 232
  6.                 tx_commerce_products.listItem {
  7.                         30.typolink.parameter = 228
  8.                 }
  9.         }
  10.        
  11.        
  12. }


und das entsprechende setup:
Typoscript:Zeilennummerierung:  An / Aus

  1. temp.tx_fesearchintable_pi1 < plugin.tx_fesearchintable_pi1
  2.  
  3. temp.tx_fesearchintable_pi1 {
  4.        
  5.         CMD = form     
  6.        
  7.         form = FORM
  8.         form.data.cObject = COA
  9.         form.data.cObject {
  10.    
  11.                         # First we generate the static part of the string.
  12.                         5 = HTML
  13.                         5.value = <h3>Suche</h3> 
  14.                         #5.value.wrap = <h3>|</h3>
  15.                        
  16.                         10 = TEXT
  17.                         10.value =  Hersteller: | manufacturer_uid=select | =,
  18.                        
  19.                         20 = CONTENT
  20.                         20 {
  21.                                 # Daten aus der Datenbank lesen
  22.                                 # Die Tabelle aus der wir die Daten lesen wollen
  23.                                
  24.                                 table = tx_commerce_manufacturer
  25.                                 select.pidInList = 232
  26.                                 # Hier werden die Label/Value Paare für die Selectbox generiert
  27.                                 # des Paar ist durch Komma getrennt
  28.                                
  29.                                 renderObj = TEXT
  30.                                 renderObj.dataWrap = {field:title}={field:uid},
  31.                                
  32.                                 # Jetzt wird noch das letzte Komma entfernt
  33.                                 stdWrap.substring = 0,-1
  34.                                 }
  35.                                        
  36.                         }
  37.        
  38.        
  39.        
  40.  
  41.         form.type = {$plugin.tx_fesearchintable_pi1.resultsPID}
  42.        
  43.         form.locationData = 1
  44.         form.layout = <strong>###LABEL###</strong>###FIELD###
  45.         form.wrapFieldName = tx_fesearchintable_pi1[|]
  46.        
  47.         searchAdditionalPiVars {
  48.         manufacturer_uid = Hersteller
  49.     }
  50.  
  51. }


die teile 5-20 sind dabei ein dynamisch aus der db generiertes dropdown-menu zur suche nach herstellern.


für die suchergebnisse habe ich auf der seite, auf der diese dargestellt werden sollen, das plugin installiert, dort CODE auf results gestellt und ein template mit folgendem setup erstellt :

Typoscript:Zeilennummerierung:  An / Aus

  1. plugin.tx_fesearchintable_pi1 {
  2.  
  3. CMD = results
  4.  
  5. searchTables {
  6.                 tt_news >
  7.                 tx_commerce_products = 1
  8.                 tx_commerce_products.name = Products
  9.                 tx_commerce_products.fields = title
  10.                 #,description,teaser,subtitle
  11.                 tx_commerce_products.selectAdditionalParams = AND 1=1
  12.                 tx_commerce_products.pidList = 233
  13.                 tx_commerce_products.recursive = 1
  14.                
  15.                
  16.                 tx_commerce_products.selectAdditionalParams = AND tx_commerce_products.manufacturer_uid LIKE '%{GPvar:tx_fesearchintable_pi1|manufacturer_uid}%'
  17.                 tx_commerce_products.selectAdditionalParams.insertData = 1
  18.                
  19.                
  20.                
  21.  
  22.                 tx_commerce_products.listHeader = COA
  23.                 tx_commerce_products.listHeader {
  24.                         10 = TEXT
  25.                         10.value = Suchergebnisse
  26.                         10.wrap = <h3>|</h3>
  27.                 }
  28.  
  29.                 tx_commerce_products.listItem = COA
  30.                 tx_commerce_products.listItem {
  31.                         stdWrap.wrap = <li>|</li>
  32.                         10 = TEXT
  33.                         10.field = title
  34.                         10.wrap = <strong style='color:#006699;'>|</strong><br>
  35.                         10.typolink.parameter = 228
  36.                         10.typolink.ATagBeforeWrap = 1
  37.                         10.typolink.additionalParams.dataWrap = &tx_commerce_pi1[showUid]={field:uid}&tx_commerce_pi1[catUid]={field:categories}
  38.                        
  39.                         20 = TEXT
  40.                         20.field = teaser//description
  41.                         20.crop = 120|... 
  42.                         30 = TEXT
  43.                         30.value = Artikel anzeigen  »
  44.                         30.typolink.parameter = 228  artAnzLink
  45.                         30.typolink.wrap = <em>|</em>
  46.                         30.typolink.ATagBeforeWrap = 1
  47.                         30.typolink.additionalParams.dataWrap = &tx_commerce_pi1[showUid]={field:uid}&tx_commerce_pi1[catUid]={field:categories}
  48.                 }
  49.                 tx_commerce_products.listStdWrap.wrap = <ol >|</ol>
  50.  
  51.         }
  52. }


wenn du nun die suchparameter [tabellen und zu durchsuchende felder] am anfang der searchTables-teile änderst, solltest du eigentlich zum ziel kommen.


gruß
Verfasst am: 05.05.2008 [09:51]
claudia2

dabei seit: 15.12.2004
Beiträge: 246

supi, danke dir!

probier ich aus...

http://www.ideenwerft.com
Verfasst am: 19.05.2008 [11:44]
FredFussbroich

[Themenersteller]
dabei seit: 10.08.2007
Beiträge: 22

als nachschlag noch, weil's einfach schöner ist, den ts-code für die suchergebnisse, dieses mal mit ausgabe des product-images. hoffe, da freut sich jetzt jemand drüber... :-)


Typoscript:Zeilennummerierung:  An / Aus

  1. plugin.tx_fesearchintable_pi1 {
  2.  
  3. CMD = results
  4.  
  5. searchTables {
  6.                 tt_news >
  7.                 tx_commerce_products = 1
  8.                 tx_commerce_products.name = Products
  9.                 tx_commerce_products.fields = title, images
  10.                 #,description,teaser,subtitle, images
  11.                 tx_commerce_products.selectAdditionalParams = AND 1=1
  12.                 tx_commerce_products.pidList = 233
  13.                 tx_commerce_products.recursive = 1
  14.                
  15.                
  16.                 tx_commerce_products.selectAdditionalParams = AND tx_commerce_products.manufacturer_uid LIKE '%{GPvar:tx_fesearchintable_pi1|manufacturer_uid}%'
  17.                 tx_commerce_products.selectAdditionalParams.insertData = 1
  18.                
  19.                
  20.                
  21.  
  22.                 tx_commerce_products.listHeader = COA
  23.                 tx_commerce_products.listHeader {
  24.                         10 = TEXT
  25.                         10.value = Suchergebnisse
  26.                         10.wrap = <h2>|</h2>
  27.                 }
  28.  
  29.                 tx_commerce_products.listItem = COA
  30.                 tx_commerce_products.listItem{
  31.                         stdWrap.wrap = <li>|</li>
  32.                         10 = TEXT
  33.                         10.field = title
  34.                         10.wrap = <strong style='color:#006699;'>|</strong><br>
  35.                         10.typolink.parameter = 228
  36.                         10.typolink.ATagBeforeWrap = 1
  37.                         10.typolink.additionalParams.dataWrap = &tx_commerce_pi1[showUid]={field:uid}&tx_commerce_pi1[catUid]={field:categories}
  38.                        
  39.                        
  40.                         15=IMAGE
  41.                         15{
  42.                                 wrap=<div class="srLinks">|</div>
  43.                                 file.import=uploads/tx_commerce/
  44.                                 file.import.field=images
  45.                                
  46.                                 # Höhe und Breite des Bilds
  47.                                 file.maxW=150
  48.                                
  49.                         }
  50.                        
  51.                        
  52.                         20 = TEXT
  53.                         20.field = teaser//description
  54.                         20.crop = 120|... 
  55.                         30 = HTML
  56.                         30.value = <img src="fileadmin/templates/img/proshop/layout/icon_details.jpg" alt="Zur Detailansicht" />
  57.                         30.value.typolink.parameter = 228  artAnzLink
  58.                         30.typolink.wrap = <em>|</em>
  59.                         #30.value.typolink.ATagBeforeWrap = 1
  60.                         30.value.typolink.additionalParams.dataWrap = &tx_commerce_pi1[showUid]={field:uid}&tx_commerce_pi1[catUid]={field:categories}
  61.                 }
  62.                 tx_commerce_products.listStdWrap.wrap = <ol >|</ol>
  63.  
  64.                 #tx_commerce_products.singleView < plugin.tx_commerce_products
  65.                 #tx_commerce_products.singleView.code >
  66.                 #tx_commerce_products.singleView.code = SINGLE
  67.                
  68.                
  69.                
  70.                
  71.         }
  72. }
Verfasst am: 20.05.2008 [19:28]
claudia2

dabei seit: 15.12.2004
Beiträge: 246

hallo Fred,

wollte mal eben Feedback geben icon_smile.gif

habe zwar die Anzeige der Produktbilder noch nicht probiert, aber immerhin habe ich nach einigem rumprobieren mit deiner Hilfe je eine Suchbox mit Suche nach Artikelnummer und eine weitere Box mit einer Suche nach Suchbegriff in Kombination mit einer Kategorie umgesetzt bekommen.

VIELEN DANK!!

bei Gelegenheit teste ich noch, ob es damit auch möglich ist, einen weiteren Filter einzubinden, also zB Suchbegriff / Kategorie / Hersteller ...

müsste doch gehen, oder?



http://www.ideenwerft.com
Verfasst am: 21.05.2008 [08:14]
FredFussbroich

[Themenersteller]
dabei seit: 10.08.2007
Beiträge: 22

claudia2 schrieb:

bei Gelegenheit teste ich noch, ob es damit auch möglich ist, einen weiteren Filter einzubinden, also zB Suchbegriff / Kategorie / Hersteller ...

müsste doch gehen, oder?


da spricht eigentlich nix gegen. sollte in etwa so gehen wie bei der herstellersuche. das ist ja auch datenbankmäßig einfach eine bedingung mehr, nach der gesucht wird.


gruß
Verfasst am: 20.06.2008 [11:48]
FredFussbroich

[Themenersteller]
dabei seit: 10.08.2007
Beiträge: 22

moin.

im gebrauch hat sich ein fehler gezeigt und zwar bei der formulierung der zusätzlichen suchparameter. durch die like-abfrage sind natürlich artikel mit der manufacturer_id 3 und 13 ausgegeben worden.

aus meinem letzten posting sollte die zeile 16 also besser so lauten:
Typoscript:Zeilennummerierung:  An / Aus

  1. tx_commerce_products.selectAdditionalParams = AND tx_commerce_products.manufacturer_uid={GPvar:tx_fesearchintable_pi1|manufacturer_uid}




gruß




 
TYPO3 Version 4.2.0 testen

TYPO3 Ver. 4.2.0 testen

Testen Sie die neue TYPO3 Version 4.2.0 kostenlos für einen Monat

TYPO3 Bücher

TYPO3 Workshops


TYPO3 Einführungsschulung
in Berlin:
Montag, 07.07.
in Espelkamp:
Montag, 04.08.

TYPO3 Intensivschulung
in Espelkamp:
Mi., 06.08. - Fr., 08.08.
in Würzburg:
Mo., 18.08. - Mi., 20.08.
in Köln:
Mo., 01.09. - Mi., 03.09.
in Berlin:
Mi., 24.09. - Fr., 26.09.

TYPO3 Extensionschulung
in Berlin:
Mo., 14.07. - Mi., 16.07.
in Espelkamp:
Mo., 11.08. - Mi., 13.08.