Config.xml Combo Default Value als Array

Hallo Community, 

wie kann man in der config.xml eines Plugins in der xml-Datei beim Element vom Typ Combo bei welchem eine Mehrfachauswahl möglich ist, im Default-Value ein Array mitgeben?

 

Variante 1 geht nicht:

 A, B, C, D, E, F,

Variante 2 geht nicht:

A; B; C; D; E; F;

Variante 3 geht nicht:

 Hier mal das gesamte Combo:

            loremIpsum
            Lorem
            Lorem
            A
            Lorem ipsum
            Lorem ipsum
            
                
                    A
                    A
                    A
                
                
                    B
                    B
                    B
                
                
                    C
                    C
                    C
                
                
                    D
                    D
                    D
                
                
                    E
                    E
                    E
                
                
                    F
                    F
                    F
                
            
            
                true

 

Hast du hier mittlerweile eine Lösung gefunden? Stehe vor dem gleichen Problem …

Habs herausgefunden - so gehts :slight_smile: so geht’s nicht - wird nicht als Array übergeben. Vgl. Lösung weiter unten …

In der Install nachträglich das Value anpassen :smiley:

Stimmt :slight_smile:

Hab ich sogar an ner anderen Stelle im Plugin schon gemacht  Foot-in-Mouth

Für alle die drauf stoßen - so z.B.:

    public function install(InstallContext $context)
    {
        // set days
        $daysArray = [
            0 => 'monday',
            1 => 'friday'
        ];
        $this->updateConfigValue($daysArray, 'config_element_name');
    }


    /**
     * update config value in database
     *
     * @param $value
     * @param $key
     * @param string $shopId
     * @throws \Zend_Db_Adapter_Exception
     */
    private function updateConfigValue($value, $key, $shopId = '')
    {
        if (!empty($shopId)) {
            $sql = "UPDATE `s_core_config_values` val
                    INNER JOIN `s_core_config_elements` el ON el.`id` = val.`element_id`
                    SET val.`value` = ? 
                    WHERE el.`name` = ? AND val.`shop_id` = ?";
            Shopware()->Db()->query($sql, array(serialize($value), $key, $shopId));
        } else {
            $sql = "UPDATE `s_core_config_elements` SET `value` = ? WHERE `name` = ?";
            Shopware()->Db()->query($sql, array(serialize($value), $key));
        }
    }

 

Viel sauberer und einfacher würde es über den Doctrine weg gehen :slight_smile:

@Shyim schrieb:

Viel sauberer und einfacher würde es über den Doctrine weg gehen :)

Kannst du ein Beispiel hier posten? Thumb-Up