Jump to content
xt:Commerce Community Forum

Versch. Thumbs/Bilder von mo_images pro Artikel GLEICHZEITIG in Artikelübersicht


FreiD

Recommended Posts

Hallo,

ich benötige in der "product_listing_v1.html" bereits alle Artikelbilder (mo_images) jedes Artikels, da ich bei meinen Artikeln bereits 3 Thumbs in der Übersicht anzeigen will, bzw. eine Thumbcollage pro Artikel machen will.

Leider bekomme ich die anderen Artikelbilder wie sie in der product_info.php für die Einzelartikelanzeige ausgelesen werden nicht als array in die new_products.php, da die product_info.php ihre Daten woanders herholt als die new_products.php.

Ich wollte in der product.php ein array mit den Bildern füllen, aber es funzt einfach nicht:-(

Dachte es müsste so laufen wie hier in der products_info.php:

$mo_images = xtc_get_products_mo_images($product->data['products_id']);
if ($mo_images != false) {
foreach ($mo_images as $img) {
$mo_img = DIR_WS_INFO_IMAGES.$img['image_name'];
$info_smarty->assign('PRODUCTS_IMAGE_'.$img['image_nr'], $mo_img);
$info_smarty->assign('PRODUCTS_POPUP_LINK_'.$img['image_nr'], 'javascript:popupWindow(\''.xtc_href_link(FILENAME_POPUP_IMAGE, 'pID='.$product->data['products_id'].$connector.'imgID='.$img['image_nr']).'\')');
}
}
//mo_images EOF[/PHP]

da werden die Smartyvariablen entsprechend der zurückgegebenen Bilderanzahl generiert:

$info_smarty->assign('PRODUCTS_IMAGE_'[b][u][i].$img['image_nr'][/i][/u][/b], $mo_img);

In der product.php klappt das aber nicht und in der new_products.php bekomme ich es auch nicht hin, auch wenn ich theoretisch weiß, wie ichs haben will. Ein Problem scheint die products_id zu sein, da er mir das arry immer nur mit dem letzten Wert füllt, wenn ich das hier in die new_products.php einfüge:

[PHP]$module_content = array ();
$new_products_query = xtDBquery($new_products_query);
while ($new_products = xtc_db_fetch_array($new_products_query, true)) {
$module_content[] = $product->buildDataArray($new_products);

}
//ab hier von mir eingefügt und angepasst
$mo_images = xtc_get_products_mo_images($product->data['products_id']);
$mo_images = xtc_get_products_mo_images(394);//das funzt, aber eben nur mit dem einen Artikel
if ($mo_images != false) {
foreach ($mo_images as $img) {
$mo_img = DIR_WS_INFO_IMAGES.$img['image_name'];
$module_smarty->assign('PRODUCTS_IMAGE_'.$img['image_nr'], $mo_img);
$module_smarty->assign('PRODUCTS_POPUP_LINK_'.$img['image_nr'], 'javascript:popupWindow(\''.xtc_href_link(FILENAME_POPUP_IMAGE, 'pID='.$product->data['products_id'].$connector.'imgID='.$img['image_nr']).'\')');
}
}
//ENDE von mir eingefügt[/PHP]

Trage ich eine feste product_id als Paramter ein, siehe oben, bekommt er die Werte zurück. Das ist getestet!!!

In der product.php, ne Ebene drüber, also dort wo das datarray gebuildet wird (buildDataArray)

bekomme ich es garnicht hin, die Smartyvariablen generieren zu lassen, um sie ggf. direkt in "product_listing_v1.html" anzusprechen, da bekomme ich sie nur statisch gefüllt:

(Require usw ist alles drin)

[PHP]'PRODUCTS_IMAGEVONLAYER' => productMoImages($array['products_id'],$array['products_image']),//neu von mir eingefügt
function productMoImages($Prdid,$name)
{
$mo_images = xtc_get_products_mo_images($Prdid);

//xtc_get_products_mo_images wird aufgerufen und bekommt die Pr_id übergeben
//als Rückgabewert erhält man die Parameter "image_id, image_nr, image_name"( sind in der Var $results gekapselt)
//die Funktion ist ab hier ähnlich wie in der product_info.php, nur werden die versch. Bilder nicht in ein Array gepackt,
//zumindest nicht in eines, dass in der product_listing_html zur Verfügung steht, daran arbeite ich noch
//momentan wird anstatt via Assign() wie in der Popup.php, das 2.Bild genommen ($mo_img[2])
//via Return wird an den Funktionsaufruf der Wert von $mo_img[2] zurückgegeben
//wenn man wollte, könnte man nun noch eine Variable PRODUCTS_IMAGEVONLAYER2 definieren und dann eine entsprechend Funktion
//"productMoImages2" definieren um dann $mo_img[3] zu benutzen, und dieses Bild dann anderweitig verwenden
//es wird jedoch noch nötig sein, einen Check ob Bild 2=true zu machen. ist aber in der Mo- Original glabue ich schon drin

//mo_images - by [email protected]
if ($mo_images != false) {
foreach ($mo_images as $img) {
$mo_img[] = DIR_WS_INFO_IMAGES.$img['image_name'];
clearstatcache();//PHP-Befehl um den PHPCache zu löschen
}

if($mo_img[1]!=false){
clearstatcache();
return $mo_img[1];
}
}
return DIR_WS_THUMBNAIL_IMAGES.$name;//wenn keine weiteren Bilder existent, nehme das Thumbnailbild

}
//mo_images EOF


[/PHP]

Aus der product.php kann man nämlich nichts an smarty assignen, so dass die Variablengenerierung erst in der product.php erfolgen müsste, und das assignen erst in der new_product.php, ich weiß aber nicht wie ich ein Array mit den Artikelbildern fülle und dessen Inhalte dann in der "product_listing_v1.html" anspreche, oder in new_products.php einzeln smarty zuweise.

Hat jemand eine Idee?Bin am verzweifeln:_)

Besten dank schonmal vorab.

Link to comment
Share on other sites

Hi FreiD,

was Du vorhast ist prinzipiell machbar.

Allerdings ist mir unklar, wo Du das nun genau haben willst.

In der new_products oder in der product_listing?

Schreib doch mal, was Du genau machen willst (nicht das technische).

Kannst Du auch gern direkt per PM oder email an mich...

Ben

Link to comment
Share on other sites

Hi buero-design,

ich möchte für ein Overlay-PopUp die anderen Artikelbilder aus der product_info bereits in der product_listing zur Verfügung haben. Also Zugriff auf alle Bilder, die zu dem jeweiligen Artikel gehören. Allerdings schon dann ,wenn er noch mit den anderen Artikeln der Kategorie in der Übersicht angezeigt wird, also bspw. auf dieser Navi-Ebene, um mal einen deiner Shops zu nehmen:

http://www.tevala.eu/Garten:::1.html

Grüße

Marc

Link to comment
Share on other sites

Hi Marc,

das lässt sich doch machen. Brauchst Du alle Bildgrößen?

Ben

Was meinst du mit Bildgrößen? Nee eigentlich nicht, aber das ist doch egal, es handelt sich doch um Datenbankvariablen die man assignen muß, wie groß dann die Bilder die hinter dem Pfad liegen, sind, ist doch egal.

Grüße

Marc

Link to comment
Share on other sites

  • 2 weeks later...

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...