Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 09. Januar 2011 22:06

Andiministrator
Kabeljungwerker
Ort: Plauen / Vogtland
Registriert: 09. November 2010
Beiträge: 264
Webseite

GBFilePicker und Smarty

Hey NaN,

Wie ich gesehen habe, baust Du in die neue Version von GBFilePicker Smarty-Unterstützung ein.
Kann die aktuelle SVN-Version das schon?
Ich habe es probiert mit:

{content_module page_tab='Bilder' block='images' lang='de_DE' module='GBFilePicker' media_type='image' mode='browser' show_subdirs='false' upload='true' delete='true' create_dirs='false' allow_scaling='false' smarty='true' dir='images/Header/:::page_alias:::'}

Leider ohne Erfolg, ich lande immer nur im Verzeichnis "images/Header" - habe ich das falsch eingebunden?

Das UDT "page_alias" als auch das entsprechende Verzeichnis der Ausgabe existieren selbstverständlich ...


Arbeitet bei conversearch GmbH: http://conversearch.de (Webseiten-Analyse und -Monitoring)
Bloggt bei Andiministrator.de: http://andiministrator.de

Offline

#2 10. Januar 2011 23:31

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: GBFilePicker und Smarty

Die aktuelle SVN Version sollte das eigentlich schon können.
Dein Code im Template sieht richtig aus.

Wie ermittelt Dein UDT denn das Seiten Alias?
Und welche CMS Version verwendest Du?


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#3 10. Januar 2011 09:26

Andiministrator
Kabeljungwerker
Ort: Plauen / Vogtland
Registriert: 09. November 2010
Beiträge: 264
Webseite

Re: GBFilePicker und Smarty

Hier das UDT:

global $gCms;
echo $gCms->variables[pageinfo]->content_alias;

Ich verwende CMSms 1.9.2


Arbeitet bei conversearch GmbH: http://conversearch.de (Webseiten-Analyse und -Monitoring)
Bloggt bei Andiministrator.de: http://andiministrator.de

Offline

#4 10. Januar 2011 09:55

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: GBFilePicker und Smarty

Das dachte ich mir.
In CMSms 1.9.2 funktioniert der Weg über $gCms->variables[pageinfo] leider nicht mehr.
Ich überlege, stattdessen die Funktionen cms_utils::set_app_data() und cms_utils::get_app_data() zu verwenden.
Du könntest aber auch über das $smarty Objekt und den Template-Variablen auf das Inhaltsobjekt zugreifen:

echo cmsms()->smarty->_tpl_vars['content_obj']->Alias();

Edit:

Wenn das alles ist, was Dein UDT macht, dann kannst Du auch einfach

dir="images/:::$content_obj->Alias():::"

als Parameter verwenden. Dann brauchst Du keinen UDT dafür.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#5 10. Januar 2011 10:04

Andiministrator
Kabeljungwerker
Ort: Plauen / Vogtland
Registriert: 09. November 2010
Beiträge: 264
Webseite

Re: GBFilePicker und Smarty

Super, klingt gut. Probiere ich heute abend gleich mal aus und gebe Dir dann bescheid. Danke smile


Arbeitet bei conversearch GmbH: http://conversearch.de (Webseiten-Analyse und -Monitoring)
Bloggt bei Andiministrator.de: http://andiministrator.de

Offline

#6 10. Januar 2011 20:40

Andiministrator
Kabeljungwerker
Ort: Plauen / Vogtland
Registriert: 09. November 2010
Beiträge: 264
Webseite

Re: GBFilePicker und Smarty

Bei beiden Varianten bricht das Laden der Seite im Backend ab:
Screenshot
Wie im Screenshot zu sehen, bricht das Laden genau an der Stelle ab, wo die Smarty Platzhalter beginnen.


Arbeitet bei conversearch GmbH: http://conversearch.de (Webseiten-Analyse und -Monitoring)
Bloggt bei Andiministrator.de: http://andiministrator.de

Offline

#7 10. Januar 2011 21:33

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: GBFilePicker und Smarty

Ja, das leidige Problem: wenn die Seite neu erstellt wird, dann existiert weder Inhaltsobjekt noch Alias.
Du müsstest vorher in Deinem UDT oder im Wert des Parameters prüfen, ob das Content Object überhaupt existiert.
UDT:

if($content_obj =& cmsms()->GetSmarty()->get_template_vars('content_obj'))
{
    echo $content_obj->Alias();
}

Template:

{content_module ... dir="images/:::if isset($content_obj)::::::$content_obj->Alias()::::::/if:::"}

(Das mit den Doppelpunkten sieht hier irgendwie doof aus. Werde evtl. auch auf eckige Klammern umstellen wie bei {cms_stylesheet})


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#8 10. Januar 2011 21:54

Andiministrator
Kabeljungwerker
Ort: Plauen / Vogtland
Registriert: 09. November 2010
Beiträge: 264
Webseite

Re: GBFilePicker und Smarty

Nein, es handelt sich bei meinem Test um eine existierende Seite und das entsprechende Verzeichnis existiert auch:
Screenshot
"de" heißt das entsprechende Verzeichnis als auch der Alias der Seite. Wenn ich die Smarty-Anweisungen von Dir so teste, geben diese auch korrekt den Alias aus.

Mit den Abfragen von Dir funktioniert die Seite wieder normal, allerdings wird der Smarty-Code nicht beachtet - es ist, als stünde er nicht da (siehe Screenshot).


Arbeitet bei conversearch GmbH: http://conversearch.de (Webseiten-Analyse und -Monitoring)
Bloggt bei Andiministrator.de: http://andiministrator.de

Offline

#9 10. Januar 2011 22:24

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: GBFilePicker und Smarty

Hm also bei mir funktioniert es.
Ich hab jetzt erstmal nur die Smarty-Variante im Parameter probiert.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#10 10. Januar 2011 22:51

Andiministrator
Kabeljungwerker
Ort: Plauen / Vogtland
Registriert: 09. November 2010
Beiträge: 264
Webseite

Re: GBFilePicker und Smarty

Na wer weiß, warum das bei mir nicht geht. Muss ich mir etwas anderes überlegen.
Trotzdem danke für Deine Hilfe!


Arbeitet bei conversearch GmbH: http://conversearch.de (Webseiten-Analyse und -Monitoring)
Bloggt bei Andiministrator.de: http://andiministrator.de

Offline

#11 11. Januar 2011 23:23

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: GBFilePicker und Smarty

Ah... wie ich gerade an deinem Screenshot sehe, verwendest Du zusätzlich auch noch AdvancedContent.
Da gibts wohl noch einen Fehler.
Ich wollte schlau sein, und die Parameter aus Performancegründen im Filepicker nur dann verarbeiten, wenn der Inhaltstyp nicht AdvancedContent ist, weil AdvancedContent das ja ebenfalls tut und das noch vor dem Modul. Muss man ja nicht doppelt machen. Allerdings speichert AdvancedContent die Modulparameter in einem extra Array. Und dieses wird nicht mit Smarty verarbeitet, sondern im Originalzustand an das Modul übergeben. Somit passiert bei AdvancedContent und smarty=true beim Filepicker garnichts.

Um das erstmal zu beheben, einfach in der Datei GBFilePicker.module.php in Zeile 1905 bei der if-Abfrage
das && $content->Type() != 'content2' rausnehmen.
Ich muss mal schauen, ob ich das im GBFilePicker oder im AdvancedContent ändere.

Edit: Habe mich für Letzteres entschieden. Andere Module sollen schließlich auch von der Smarty-Funktion durch AdvancedContent profitieren. Ist im SVN des AdvancedContent Moduls behoben.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#12 11. Januar 2011 09:24

Andiministrator
Kabeljungwerker
Ort: Plauen / Vogtland
Registriert: 09. November 2010
Beiträge: 264
Webseite

Re: GBFilePicker und Smarty

Super, jetzt funktionierts. Danke Dir  cool


Arbeitet bei conversearch GmbH: http://conversearch.de (Webseiten-Analyse und -Monitoring)
Bloggt bei Andiministrator.de: http://andiministrator.de

Offline

#13 15. Januar 2011 01:40

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: GBFilePicker und Smarty

NaN schrieb:
{content_module ... dir="images/:::if isset($content_obj)::::::$content_obj->Alias()::::::/if:::"}

Davon kann ich übrigens erstmal nur abraten.
Es mag im Backend funktionieren, aber im Frontend führt es zu Problemen.
Weil Smarty versucht, tatsächlich $content_obj und $content_obj->Alias() ohne die if Abfragen als Parameter zuzuweisen. D.h. der Parameter besteht aus einer Mischung aus Text (string) und einem Objekt. Und ein Objekt kann man bekanntlich nicht wie einen String behandeln.
Daher wäre ein Plugin oder UDT hier immer noch die bessere Wahl.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#14 18. Januar 2011 16:54

Andiministrator
Kabeljungwerker
Ort: Plauen / Vogtland
Registriert: 09. November 2010
Beiträge: 264
Webseite

Re: GBFilePicker und Smarty

Ja, denke ich auch. Sieht auch etwas übersichtlicher aus.
Zusätzlich habe ich eine Smarty-Abfrage drin, die über ein UDT versucht, das Verzeichnis anzulegen bzw. bei leerem Alias den entsprechenden Tab gar nicht anzeigt.


Arbeitet bei conversearch GmbH: http://conversearch.de (Webseiten-Analyse und -Monitoring)
Bloggt bei Andiministrator.de: http://andiministrator.de

Offline