Antwort #5 am: 10. Januar 2016, 23:39:40
Ich hab neulich auch so ein Problem gehabt und es völlig anders gelöst. Es war nur ein spezielles Attribut was längeren Text haben sollte. Hab den Attributtext in die Sprachdateien geschrieben. lang/german/german.php, lang/english/ihr wisst schon.
define( 'GLM_REF_INX_0', "
lorem ipsum
infernale
alka selzer
caramba sole
mio
grappa
");define( 'GLM_REF_INX_1', "
lorem ipsum
infernale
alka selzer
caramba sole
mio
ramazotti
");define( 'GLM_REF_INX_2', "
lorem ipsum
infernale
alka selzer
caramba sole
mio
gorbatschow
"); Dann hab ich in application_top ein paar Konstanten definiert.
define('GLM_EXT_OPT_ID', 3 ); // Opt.ID der erweiterten Attributdarstellungdefine( 'GLM_REF_INX_0_ATTR_ID', 7 ); // Attribut IDdefine( 'GLM_REF_INX_1_ATTR_ID', 8 ); // Attribut IDdefine( 'GLM_REF_INX_2_ATTR_ID', 9 ); // Attribut ID Und hier mein umgeschriebenes table_listing.html -Template.
{if $options != ''}
<table width="100%" border="0" cellpadding="0" cellspacing="0">
{foreach name=outer item=options_data from=$options}
<tr>
<td style="border-bottom: 1px solid;" colspan="4"><strong>{$options_data.NAME}:</strong></td>
</tr>
{foreach name=inner key=key_data item=item_data from=$options_data.DATA}
<tr class="{cycle values="tableListingI,tableListingII"}">
<td style="vertical-align: top;">
{if $smarty.foreach.inner.iteration == 1}
<input type="radio" name="id[{$options_data.ID}]" id="{$item_data.ID}" value="{$item_data.ID}" checked="checked" />
{else}
<input type="radio" name="id[{$options_data.ID}]" id="{$item_data.ID}" value="{$item_data.ID}" />
{/if}
</td>
{* // --- bof -- erweiterte Attributtexte ------------------------ *}
{if $options_data.ID==$smarty.const.GLM_EXT_OPT_ID}
<td colspan="2">
{if $item_data.ID==$smarty.const.GLM_REF_INX_0_ATTR_ID}{$smarty.const.GLM_REF_INX_0}{/if}
{if $item_data.ID==$smarty.const.GLM_REF_INX_1_ATTR_ID}{$smarty.const.GLM_REF_INX_1}{/if}
{if $item_data.ID==$smarty.const.GLM_REF_INX_2_ATTR_ID}{$smarty.const.GLM_REF_INX_2}{/if}
</td>
<td align="right">{$item_data.PREFIX}{$item_data.PRICE}</td>
{else}
<td><label for="{$item_data.ID}">{$item_data.TEXT}<br />ArtNr.: {$item_data.MODEL}</label></td>
<td> </td>
<td align="right">{if $item_data.FULL_PRICE}{$item_data.FULL_PRICE}{elseif $item_data.PRICE}{$item_data.PREFIX}{$item_data.PRICE}{/if}</td>
{/if}
{* // --- eof -- erweiterte Attributtexte ------------------------ *}
</tr>
{/foreach}
{/foreach}
</table>
{/if}
Das Beispiel hat eine Option mit 3 Attributen. (Z.B. "Farbe" und "rot, gelb, grün"). Code einbauen. Option und Attribut anlegen, sofern nicht schon geschehen. Und IDs notieren.
options_id und attribute_id's. Eintragen in die o.g. Defines.
Artikel anlegen mit den Attributen versehen und als Options-Template das angepasste Template wählen (table_listing.html).
Gruß
Hen