Artikelmanager

Hilfe zu Modulen und Tags
Post Reply
Wurst
Forum Members
Forum Members
Posts: 67
Joined: Wed Apr 22, 2009 2:40 pm

Artikelmanager

Post by Wurst »

Bei Vorstellung dieser Seite:
http://forum.cmsmadesimple.org/index.php/topic,33430.0.html
bin ich auf das Modul products gestoßen. Ähnlich stelle ich mir die Umsetzung bei meinem Projekt vor.
Leider halten sich meine Kenntnisse in Grenzen und ich tue mich schwer, Details umzusetzen.

Das Modul Products (Ver 2.3) ist installiert, zu dem habe ich CGSimplesmarty 1.4.1 und CGExtensions 1.15.3 installiert. PHP-Version ist 5.2.8.

Problem:
Das Modul läuft, das automatische Erstellen der Thumbnails klappt auch. In der Seite habe ich das Modul einfach mit {*Products*} eingebunden. Bei der Ausgabe eines Artikels erscheint ein kleines Vorschaubild, so soll es sein. Ich möchte, dass bei Klick auf das Vorschaubild das richtige Bild erscheint. Genau hier ist mein Wissen am ende. Ich habe keinen Plan, wie ich das umsetzen kann. Habe mir Detail-Template angesehen (standart), da ich davon ausgehe, dass hier die Ausgabe gesteuert wird. Komme aber nicht wirklich weiter. Suche im Forum brachte auch nichts.
Würde mich über einen Stubs in die richtige Richtung freuen.

Gruß Wurst
Wurst
Forum Members
Forum Members
Posts: 67
Joined: Wed Apr 22, 2009 2:40 pm

Re: Artikelmanager

Post by Wurst »

darf man hier bump-en?
dylan

Re: Artikelmanager

Post by dylan »

Ich stehe exakt vor dem gleichen Problem. Ich habe per "Feld-Definition / Typ: Image" ein Feld hinzugefügt.

Nach dem hinzufügen eines Bildes wird im Detail-Template ein Thumb dargestellt. Im Uploads-Ordner wurde vom Modul folgender Ordner hinzugefügt: uploads/Products/product_1, der die hochgeladenen Bilder plus Thumbs enthält: bild.jpg + thumb_bild.jpg

Im Template sind zwei img src enthalten:

1:

Code: Select all

<img src="{$entry->file_location}/{$field->thumbnail}" alt="{$field->value}"/>
und

2:

Code: Select all

<a href="{$category->file_location}/{$onedataitem.field_value}"><img src="{$category->file_location}/thumb_{$onedataitem.field_value}" alt="thumb" /></a>
Ich nehme an, dass das obere wegen des fehlenden thumb_ wahrscheinlich das vollauflösende Bild ist?

Ich habe versucht die Positionen von "1" und "2" zu verändern, indem ich sie einfach an andere Stelle im Template kopiert habe. Ohne Erfolg, es wird immer nur die Original-Position angezeigt.

Ich möchte die Frage von Wurst aufgreifen, wie sieht der Einbau der images aus?
Funktionalität stelle ich mir ähnlich vor wie im Thread von el17 vorgestellt: Link zu mk-bikes.de
NaN

Re: Artikelmanager

Post by NaN »

Kannst Du mal das Template posten?
Das scheinen mir zwei völlig verschiedene Variablen zu sein.

Evtl. steckt das komplette Bild (inkl. Markup) auch schon in einer der Variablen, die einfach so in einer foreach-Schleife ausgegeben werden.
Füge mal {get_template_vars} in das Products-Template ein und schau Dir das Ergebnis im Frontend an.
Ist dort eine Variable vom Typ Array oder Object, füge mal {Variablen_name|print_r} ins Template ein und schau Dir im Frontend den Inhalt dieser Variablen an.
dylan

Re: Artikelmanager

Post by dylan »

Füge mal {get_template_vars} in das Products-Template ein und schau Dir das Ergebnis im Frontend an.
mod = Object
returnid = 62
actionid = cntnt01
actionparams = Array (3)
entry = Object
cart_module_tag = {-1 product=$entry->id}
currency_symbol = €
weight_units = kg
categorytext =
products = Object
field = Object
name = Produktbild

»Produktbild« ist die von mir erstellte Feld-Definition, Typ: Image
Das Problem-Kind, wenn man so will ;)

Ist dort eine Variable vom Typ Array oder Object, füge mal {Variablen_name|print_r} ins Template ein und schau Dir im Frontend den Inhalt dieser Variablen an.
Es wird nichts weiter angezeigt ...


Hier meine Templates:

ArtikelManager - Zusammenfassungs-Templates

Code: Select all

{if isset($catformstart)}
{$catformstart}
{$catdropdown}{$catbutton}
{$catformend}
{/if}

{if isset($pagecount) && $pagecount gt 1}
{$firstlink} {$prevlink}  {$pagetext} {$curpage} {$oftext} {$pagecount}  {$nextlink} {$lastlink}
{/if}

{foreach from=$items item=entry}
   {* 
     the summary template has access to custom fields via the $entry->fields hash
     and to categories via the $entry->categories array of objects.  Also
     attribute information is available via $entry->attributes.
     you should use the get_template_vars and the print_r modifier to see
     what is available
    *}
  <div class="ProductDirectoryItem">
     <a href="{$entry->detail_url}">{$entry->product_name}</a> ({$entry->weight}{$weight_units})  {$currency_symbol}{$entry->price}
     {if isset($entry->categories)}
       Categories: 
       {foreach from=$entry->categories item='category'}
         {$category->name}, 
       {/foreach}
       <br/>
     {/if}     
  </div>

  {* include the cart 
  {if isset($cart_module_tag)}
  <div>
  {eval var=$cart_module_tag}
  </div>
  {/if}
  *}

{/foreach}

ArtikelManager - Detail-Templates

Code: Select all

{* create a link back *}
<a href="javascript:history.back()">< zurück</a>
<p>
<img src="{$entry->file_location}/{$field->thumbnail}" alt="{$field->value}"/>
</p>
{* this is a sample product detail template *}
{assign var='products' value=$mod}
<div class="ProductDirectoryItem">

{if is_array($entry->breadcrumb)}
Breadcrumb:  {' >> '|implode:$entry->breadcrumb}<br/>
{/if}

Name: <a name="product_name" style="text-decoration: none;">{$entry->product_name}</a><br />

{if $entry->price ne ''}
Preis {$currency_symbol}: {$entry->price}<br />
{/if}

{if $entry->weight ne ''}
Gewicht {$weight_units}: {$entry->weight}<br /><br />
{/if}

{if $entry->details ne ''}
<strong>Details:</strong><br />
{$entry->details}<br />
{/if}

{* accessing all of the fields in a list *}
{if count($entry->fields)}
  <h4>Custom Fields</h4>
  {foreach from=$entry->fields key='name' item='field'}
     <div class="product_detail_field"><p>
       {$mod->Lang('name')}: {$name}<br/>
       {$mod->lang('type')}: {$field->type}<br/>
       {$mod->lang('value')}: {$field->value}<br/>
       {if $field->type == 'image' && isset($field->thumbnail)}
         <img src="{$entry->file_location}/{$field->thumbnail}" alt="{$field->value}"/>
       {/if}
     </p></div>
  {/foreach}
{/if}

{* print out attributes *}
{if isset($entry->attributes)}
  <h4>Attributes</h4>
  {foreach from=$entry->attributes key='name' item='attribset'}
     <h6>{$name}</h6>
     <div class="product_detail_field"><p>
       {foreach from=$attribset key='label' item='adjustment'}
         {$label}: {$adjustment}<br/>
       {/foreach}
     </p></div>
  {/foreach}
{/if}

{* print out the categories *}
{if isset($entry->categories)}
  <h4>Categories</h4>
  {foreach from=$entry->categories item='category'}
    <div class="product_detail_category"><p>
      {$mod->Lang('id')}: {$category->id}<br/>
      {$mod->Lang('name')}: {$category->name}<br/>
      {* if there are data fields associated with this category, display them too *}
      {if isset($category->data) && count($category->data)}
        <div class="product_detail_category_fields">
        <strong>{$mod->Lang('data')}</strong><br/>
        {foreach from=$category->data item='onedataitem'}
           <div class="product_detail_category_onefield">
           {if $onedataitem.field_type == 'image'}
             <a href="{$category->file_location}/{$onedataitem.field_value}"><img src="{$category->file_location}/thumb_{$onedataitem.field_value}" alt="thumb" /></a>
           {elseif $onedataitem.field_type == 'file'}
             <a href="{$category->file_location}/{$onedataitem.field_value}">{$onedataitem.field_value}</a>
           {else}
             <strong>{$onedataitem.field_prompt}</strong>: {$onedataitem.field_value}<br/>
           {/if}
           </div>
        {/foreach}
        </div>
      {/if}
    </p></div> 
  {/foreach}
{/if}

{* include the cart *}
{if isset($cart_module_tag)}
<div>
{eval var=$cart_module_tag}
</div>
{/if}

</div>
Last edited by dylan on Thu Jun 11, 2009 10:51 am, edited 1 time in total.
Post Reply

Return to “Module und Tags”