Bon allez ma solution:
Ce que je ferais pour que ce soit beau et clair...
exemple
Dans l'exemple, c'est géré dans une table html, mais pas besoin de se compliquer la vie.
Dans category_items.php,
<div class="image_gauche">
<?php if (isset($this->item->positions)) : ?>
<?php foreach ($this->item->positions as $field) : ?>
><?php echo $field->display; ?>
<?php endforeach; ?>
<?php endif; ?>
</div>
<div class="texte_droite">
<?php if (isset($this->item->positions)) : ?>
<?php foreach ($this->item->positions as $field) : ?>
<?php echo $field->display; ?>
<?php endforeach; ?>
<?php endif; ?>
</div>
Dans category.css
div .image_gauche {
float:left;
}
div .texte_droite {
float:right;
}
Dans category.xml
<fieldgroups>
<group>image</group>
<group>texte</group>
</fieldgroups>
Ou bien sans css et un <table>, dans category-items.php
<table width="100%">
<tr>
<td valign="top">
<?php if (isset($this->item->positions)) : ?>
<?php foreach ($this->item->positions as $field) : ?>
><?php echo $field->display; ?>
<?php endforeach; ?>
<?php endif; ?>
</td>
<td valign="top" align="left">
<?php if (isset($this->item->positions)) : ?>
<?php foreach ($this->item->positions as $field) : ?>
><?php echo $field->display; ?>
<?php endforeach; ?>
<?php endif; ?>
</td>
</tr>
</table>
et le même xml que précédemment.
Et autre solution, si tu ne veux pas toucher au code de category-items.php et au category.xml, tu fais les changements dans category.css.
Tu glisses ton champs image dans la position "above-description-line1-nolabel", ton champs description dans "above-description-line2-nolabel" (au choix)
Tu modifies dans le category.css, les arguments de .lineinfo
Voiili...
ps: c'est plus prudent de dupliquer les templates par defaut pour les modifier allègrement...