Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 21. Oktober 2011 22:09
- frickel
- hat von CMS/ms gehört
- Ort: Münster
- Registriert: 20. Mai 2011
- Beiträge: 17
[GELÖST] (Gallery-Modul) bestimmte Gallery auswählen
Hallo,
ich habe mit dem Gallery-Modul mehrere Galerien erstellt und die Editoren sollen jetzt jeder Seite eine davon zuweisen können. Der normale Weg wäre wohl die Editoren einfache {Gallery dir="eine_bestimmte_gallery"} ins Main-Content-Felds schreiben zu lassen, aber die Galerie soll an einer Stelle außerhalb des Main-Contents angezeigt werden.
Daher würde ich gerne ein weiteren Content-Block anlegen so nach diesem Motto:
{Gallery dir="{content block="Galerie" oneline="true" default="default_gallery"}"}
was aber anscheinend zu sehr gefrickelt ist und nicht läuft, aber die Idee ist wohl klar...
Gibts da ne saubere Möglichkeit?
Was funtioniert ist wenn ich im Template nur {content block="Galerie" oneline="true"} angebe und
der Editor dann {Gallery dir="default_gallery"} ins Eingabefeld schreibt, aber dabei kann ich keinen vernünftigen
Default-Wert setzten... und ohne traue ichs dem Kunden nicht zu...
Gruß & Dank Frickel
Beitrag geändert von frickel (21. Oktober 2011 13:27)
Offline
#2 21. Oktober 2011 22:26
- nicmare
- Server-Pate
- Registriert: 15. Dezember 2010
- Beiträge: 1.314
- Webseite
Re: [GELÖST] (Gallery-Modul) bestimmte Gallery auswählen
ist schon richtig so aber der kunde braucht dann ja nur das dir im content block angeben. also "default_gallery". den rest ({Gallery…}) schreibst du ins template.
Meine Projekte:
Dashcam-Test | Babyphone-Testberichte | Türspionkameras
Offline
#3 21. Oktober 2011 05:24
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: [GELÖST] (Gallery-Modul) bestimmte Gallery auswählen
Hier wäre AdvancedContent mit dem von mir geschriebenen Modul interessant:
function.getGalleryTree.php
<?php
/**
* ------------------------------------------------------------------------
* Liest alle Gallery Ordner aus und übergibt sie als Liste AdvancedContent
* ------------------------------------------------------------------------
* blattertech informatik, Lukas Blatter, lb@blattertech.ch
* Twitter: @lukasblatter
* Web: www.blattertech.ch
* ------------------------------------------------------------------------
* History:
* 2011.08.20 - Lukas Blatter - Inital Release
* 2011.12.02 - Lukas Blatter - Unterstützt nun auch die Auswahl von Unterordnern
* mit subdir="/pfad/zum/ordner"
* $config Aufruf an 1.10.x angepasst.
* ------------------------------------------------------------------------
* This program is distributed under the GNU General Public License, Version 2,
* June 1991. Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin
* St, Fifth Floor, Boston, MA 02110, USA
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* */
function smarty_cms_function_getGalleryTree($params, &$smarty)
{
$config = cmsms()->GetConfig();
$delimiter = "|";
if (!function_exists("getGalleryTreeAsArray"))
{
function getGalleryTreeAsArray($path = '.', $ignore = array()) {
$dirTree = array ();
$dirTreeTemp = array ();
$ignore[] = '.';
$ignore[] = '..';
$ignore[] = '.htaccess';
$ignore[] = 'error_log';
$ignore[] = 'cgi-bin';
$ignore[] = '.DS_Store';
$ignore[] = 'thumb';
$config = cmsms()->GetConfig();
if (strpos($path,$config['uploads_path']) === FALSE)
$path = $config['uploads_path']."/".trim($path,"/");
$dh = @opendir($path);
while (false !== ($file = readdir($dh))) {
if (!in_array($file, $ignore)) {
if (!is_dir("$path/$file")) {
$fileinfo=pathinfo($path."/".$file);
if((strtolower($fileinfo['extension']) == "jpg"
or strtolower($fileinfo['extension']) == "jpeg"
or strtolower($fileinfo['extension']) == "gif"
or strtolower($fileinfo['extension']) == "png") and strpos($file,"thumb") === FALSE)
$dirTree["$path"][] = $file;
} else {
$dirTreeTemp = getGalleryTreeAsArray("$path/$file", $ignore);
if (is_array($dirTreeTemp))$dirTree = array_merge($dirTree, $dirTreeTemp);
}
}
}
closedir($dh);
return $dirTree;
}
}
$subdir = "";
if (isset($params['subdir'])) {
$subdir = "/".trim($params['subdir'],"/");
}
$dirTree = getGalleryTreeAsArray('/images/Gallery'.$subdir);
$gallerys = array();
foreach ($dirTree as $k => $v) {
$pfad = str_replace($config['uploads_path']."/images/Gallery/","",$k);
$gallerys[$pfad] = $pfad." (".count($v)." Fotos)";
}
ksort($gallerys);
$smarty->assign("galleryTreeArray",$gallerys);
$smarty->assign("galleryTreeTitel",implode($delimiter, $gallerys));
$smarty->assign("galleryTreePath",implode($delimiter, array_keys($gallerys)));
if ($params['action'] == "url")
return implode($delimiter, array_keys($gallerys));
else
return implode($delimiter, $gallerys);
}
Eingebaut wird das ganze wie folgt:
{* Dropdownfeld mit AdvancedContent erstellen *}
{AdvancedContent block="Gallery" label="Gallery" block_type="dropdown" allow_none=true items="Keine Gallery|:::getGalleryTree :::" values="|:::getGalleryTree action='url':::" smarty=backend assign="gallerypath"}
{* Gallery anzeigen wenn eine Gallery ausgewählt wurde *}
{if $gallerypath != ""}{Gallery dir=$gallerypath}{/if}
Damit wird ein Dropdown erzeugt welches alle Gallerys anzeigt, welche du erfasst hast. Leere Gallery-Ordner werden nicht angezeigt.
In meinem Blog gibt es ein Bild dazu.
Beitrag geändert von nockenfell (21. Oktober 2011 05:41)
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#4 21. Oktober 2011 13:26
- frickel
- hat von CMS/ms gehört
- Ort: Münster
- Registriert: 20. Mai 2011
- Beiträge: 17
Re: [GELÖST] (Gallery-Modul) bestimmte Gallery auswählen
nockenfell, das ist ja der Hammer!
Besten Dank fürs Teilen
Gruß frickel
Offline
#5 12. März 2012 12:27
- leerraum
- kennt CMS/ms
- Ort: Baden-Baden
- Registriert: 15. Dezember 2010
- Beiträge: 479
- Webseite
Re: [GELÖST] (Gallery-Modul) bestimmte Gallery auswählen
hm, ich bekomm bei der 10.3 diesen fehler hier:
Warning: array_keys() [function.array-keys]: The first argument should be an array in /home/www/web168/html/cmsms/plugins/function.getGalleryTree.php on line 92 Warning: implode() [function.implode]: Invalid arguments passed in /home/www/web168/html/cmsms/plugins/function.getGalleryTree.php on line 96
Designer benötigt? Einfach eine Mail an info at lrrm dot de schicken.
Offline
#6 12. März 2012 12:38
- Klenkes
- Server-Pate
- Ort: 89428 Syrgenstein
- Registriert: 17. Dezember 2010
- Beiträge: 1.437
Re: [GELÖST] (Gallery-Modul) bestimmte Gallery auswählen
hm, ich bekomm bei der 10.3 diesen fehler hier:
Warning: array_keys() [function.array-keys]: The first argument should be an array in /home/www/web168/html/cmsms/plugins/function.getGalleryTree.php on line 92 Warning: implode() [function.implode]: Invalid arguments passed in /home/www/web168/html/cmsms/plugins/function.getGalleryTree.php on line 96
An 1.10.3 kann's nicht liegen. das funktioniert.
Sind deine Galerien auch im Pfad: /uploads/images/Gallery/... ?
So wird das im Plugin erwartet.
Offline
#7 12. März 2012 12:54
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: [GELÖST] (Gallery-Modul) bestimmte Gallery auswählen
Warning: array_keys() [function.array-keys]: The first argument should be an array in /home/www/web168/html/cmsms/plugins/function.getGalleryTree.php on line 92 Warning: implode() [function.implode]: Invalid arguments passed in /home/www/web168/html/cmsms/plugins/function.getGalleryTree.php on line 96
Nimm mal das Plugin aus Nockenfells Blog. Das ist aktueller.
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 12. März 2012 14:33
- leerraum
- kennt CMS/ms
- Ort: Baden-Baden
- Registriert: 15. Dezember 2010
- Beiträge: 479
- Webseite
Re: [GELÖST] (Gallery-Modul) bestimmte Gallery auswählen
ok, jetzt geht's. Danke!
Designer benötigt? Einfach eine Mail an info at lrrm dot de schicken.
Offline
#9 13. September 2012 14:40
- COR9
- Server-Pate
- Ort: Dresden
- Registriert: 09. November 2010
- Beiträge: 281
Re: [GELÖST] (Gallery-Modul) bestimmte Gallery auswählen
Muss das Thema hier noch mal aufnehmen.
Ich habe installiert:
Core 1.10.3
AC 0.9.4 BETA
Gallery: 1.5.3
function.getGalleryTree.php: 2011.12.02 (aus nockenfells Blog)
Folgendes Problem: Vor dem ersten Eintrag im Backend-Dropdown bekomme ich diese Meldung (also nix Spezifisches, was mit dem dem jeweiligen Galerieordner zu tun hätte):
Notice: Undefined index: action in /www/htdocs/w0084c90/relaunch/plugins/function.getGalleryTree.php on line 105
Die Galerie wird im Frontend fehlerfrei geladen. Wahrscheinlich ist die Notice also ein Eintrag, der nur durch die Formatierung im Backend in Verbindung mit der ersten Galerie angezeigt wird.
Sieht halt blöd aus für den Benutzer ...
Kann mir jemand helfen, die Meldung zu unterdrücken bzw. eine Lösung vorschlagen? Was ist da »falsch«?
Offline
#10 13. September 2012 15:47
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: [GELÖST] (Gallery-Modul) bestimmte Gallery auswählen
Hier die aktuellste Version. Bei der Abfrage des Parameter "action" hatte eine Abfrage gefehlt, ob dieser Parameter existiert.
function smarty_cms_function_getGalleryTree($params, &$smarty)
{
$config = cmsms()->GetConfig();
$delimiter = "|";
if (!function_exists("tbGetGalleryTreeAsArray"))
{
function tbGetGalleryTreeAsArray($path = '.', $ignore = array()) {
$dirTree = array ();
$dirTreeTemp = array ();
$ignore[] = '.';
$ignore[] = '..';
$ignore[] = '.htaccess';
$ignore[] = 'error_log';
$ignore[] = 'cgi-bin';
$ignore[] = '.DS_Store';
$ignore[] = 'thumb';
$config = cmsms()->GetConfig();
if (strpos($path,$config['uploads_path']) === FALSE)
$path = $config['uploads_path']."/".trim($path,"/");
$dh = @opendir($path);
while (false !== ($file = readdir($dh))) {
if (!in_array($file, $ignore)) {
if (!is_dir("$path/$file")) {
$fileinfo=pathinfo($path."/".$file);
if((strtolower($fileinfo['extension']) == "jpg"
or strtolower($fileinfo['extension']) == "jpeg"
or strtolower($fileinfo['extension']) == "gif"
or strtolower($fileinfo['extension']) == "png") and strpos($file,"thumb") === FALSE)
$dirTree["$path"][] = $file;
} else {
$dirTreeTemp = tbGetGalleryTreeAsArray("$path/$file", $ignore);
if (is_array($dirTreeTemp))$dirTree = array_merge($dirTree, $dirTreeTemp);
}
}
}
closedir($dh);
return $dirTree;
}
}
$subdir = "";
if (isset($params['subdir'])) {
$subdir = "/".trim($params['subdir'],"/");
}
$dirTree = tbGetGalleryTreeAsArray('/images/Gallery'.$subdir);
$gallerys = array();
foreach ($dirTree as $k => $v) {
$pfad = str_replace($config['uploads_path']."/images/Gallery/","",$k);
$gallerys[$pfad] = $pfad." (".count($v)." Fotos)";
}
ksort($gallerys);
$gkeys = array_keys($gallery);
$smarty->assign("tbGalleryTreeArray",$gallerys);
$smarty->assign("tbGalleryTreeTitel",implode($delimiter, $gallerys));
$smarty->assign("tbGalleryTreePath",implode($delimiter, $gkeys));
if (isset($params['action']) and $params['action'] == "url")
return implode($delimiter, array_keys($gallerys));
else
return implode($delimiter, $gallerys);
}
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#11 13. September 2012 20:01
- COR9
- Server-Pate
- Ort: Dresden
- Registriert: 09. November 2010
- Beiträge: 281
Re: [GELÖST] (Gallery-Modul) bestimmte Gallery auswählen
Danke, nockenfell, für die schnelle Hilfe!
Habe noch in der Zeile
[== smarty ==]
$gkeys = array_keys($gallery);
ein s an gallery gehängt. Bei meinen Smarty-Kenntnissen ist das ein Zufallsfund. Aber egal, denn jetzt läuft's wie geschmiert.
Offline
#12 13. September 2012 20:36
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: [GELÖST] (Gallery-Modul) bestimmte Gallery auswählen
Danke für den Hinweis
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#13 21. September 2012 17:44
- COR9
- Server-Pate
- Ort: Dresden
- Registriert: 09. November 2010
- Beiträge: 281
Re: [GELÖST] (Gallery-Modul) bestimmte Gallery auswählen
Und doch noch ne Frage:
Gibt es eine Lösung für den Fall, dass ich mehrere Galerien auf einer Seite anzeigen möchte und deshalb block_type="select_multiple" setze? Momentan werden mehrere Galerien in einem Pfad verwurstet:
Das Verzeichnis „Gallery/test_galerie|lux_la_rue“ existiert nicht. Bitte überprüfen Sie die eingegebenen Parameter.
Die Galerien test_galerie und lux_la_rue sind aber beide gleichgeordnet (also Unterordner von) Gallery.
Und das habe ich im Template stehen:
[== smarty ==]
{AdvancedContent block="Gallery" label="Galerien auswählen" block_type="select_multiple" sortable="true" size="4" allow_none=true items="auf dieser Seite keine Galerie anzeigen|:::getGalleryTree :::" values="|:::getGalleryTree action='url':::" smarty=true assign="gallerypath"}
Aufruf:
[== smarty ==]
{if $gallerypath != ""}{Gallery dir=$gallerypath}{/if}
Offline
#14 21. September 2012 21:10
- otter24
- kennt CMS/ms
- Ort: Hamburg
- Registriert: 12. Januar 2011
- Beiträge: 339
Re: [GELÖST] (Gallery-Modul) bestimmte Gallery auswählen
Und das würde nicht mit dem Gallery_Picker Plugin gehen, das man im Tiny MCE aktivieren kann?
Das funktioniert auf jeden Fall auch mit AC, man hat halt immer den Tiny am Start, was zugegebner Maßen die berühmten Kanonen auf die Spatzen sind, um nur eine Galerie auszuwählen, aber es funktioniert.
Oder hab ich da was nicht ganz verstanden...
Ich bin war kein Klugscheißer, ich weiß wusste es wirklich nicht besser.
Offline
Seiten: 1