make_cms_type und filelist

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
malsdgtac
Beiträge: 717
Registriert: Fr 12. Mär 2004, 15:50
Kontaktdaten:

make_cms_type und filelist

Beitrag von malsdgtac » Fr 1. Dez 2017, 12:14

Hallo,

der Post hier schließt eigentlich an den hier an: https://forum.contenido.org/viewtopic.p ... e_cms_type

Das Problem ist, dass bei der Verwendung von "make_cms_type" zur dynamischen Erstellung von Containers die "filelist" leider nicht funktioniert.

Code: Alles auswählen

$filelist = make_cms_type('CMS_FILELIST',1);
print_r($filelist);
//ergibt: ";?>getAllWidgetOutput(); ?>
Angelehnt an die Lösung schon dort gepostete Behebung habe ich daher die Datei "contenido/classes/content_types/class.content.type.filelist.php" abgeändert:

Original:

Code: Alles auswählen

    public function generateViewCode() {
        $code = '";?><?php
                    $fileList = new cContentTypeFilelist(\'%s\', %s, %s);
                    echo $fileList->generateFileListCode();
                 ?><?php echo "';
        // escape ' to avoid accidently ending the string in $code
        $code = sprintf($code, str_replace('\'', '\\\'', $this->_rawSettings), $this->_id, 'array()');
        return $code;
    }
Abgeändert:

Code: Alles auswählen

    public function generateViewCode() {
        $code = '";?><?php
                    $fileList = new cContentTypeFilelist(\'%s\', %s, %s);
                    echo $fileList->generateFileListCode();
                 ?><?php echo "';
        // escape ' to avoid accidently ending the string in $code
        //$code = sprintf($code, str_replace('\'', '\\\'', $this->_rawSettings), $this->_id, 'array()');
	$code = "";

        return $code;
    }
Das erzeugt genau das was ich will - die Schaltfläche um einen Ordner auszuwählen. Ist halt leider nicht updatesicher.

Antworten