views_embed_view Image Styles Problem

am 27.09.2013 - 16:57 Uhr in
Hallo zusammen.
In einem Modul rufe ich über views_embed_view einen View auf, der Profilbilder enthält, die eigentlich über einen definierten Image Style skaliert und gecropped werden sollen.
Die Profilfelder wurden um eine Checkbox erweitert auf die im View geprüft wird.
Der Cache des Views ist deaktiviert.
Beim ersten Aufruf der Seite werden neu hinzugefügte Profilbilder aber in der Originalgröße angezeigt. Erst beim zweiten Aufruf greift der Image Style.
Hier eine verkürzte Fassung des Moduls:
<?php
/*
* Hook Menu
*/
function meinModul_menu() {
$items = array();
$items['meineModulUrl'] = array(
'page callback' => 'meinModul_callback'
);
return $items;
}
/*
* Callback
*/
function meinModul_callback() {
$params['profilliste'] = views_embed_view('meinViewMitProfilbildern', 'default');
return theme('meinModul_template', $params);
}
/*
* Theme
*/
function meinModul_theme() {
return array(
'meinModul_template' => array(
'template' => 'mein-modul-page'
)
);
}
?>
Im Template mein-modul-page.tpl.php dann einfach ein print $profilliste.
Dies sind meine ersten Modulversuche. Danke für jeden Tipp!
- Anmelden oder Registrieren um Kommentare zu schreiben
Gibt es einen besonderen
am 06.10.2013 - 00:23 Uhr
Gibt es einen besonderen Grund, eine Aufgabenstellung, die du mit deinem eigenen Modul lösen möchtest?
Diese Frage sollte man sich immer stellen, bevor man ein eigenes Modul schreibt. Meistens gibt es nämlich geeignete Lösungswege ohne ein extra Modul zu schreiben.
Hallo md und vielen Dank für
am 06.10.2013 - 12:03 Uhr
Hallo md und vielen Dank für Deine Antwort.
Um Deine Frage zu beantworten: Nein, es gab keinen besonderen Grund - ich wollte das einfach mal über ein Modul lösen...
Mit
$view = views_get_view('meinViewMitProfilbildern');
$params['profilliste'] = $view->execute_display('default');
in meiner Callbackfunktion scheint es wie gewünscht zu funktionieren.
Der Unterschied zu views_embed_view und $view->preview(...) ist mir allerdings nicht so richtig klar.