Brauche dringend hilfe!!!! komme nicht weiter/ illegal string offset

  • Hallo hab das folgende problem!! will ein theme installieren doch bekomme folgendes problem ( Siehe screenshot) für die folgenden zeilen.

    // Background Color
    $output .= '<div id="' . esc_attr( $value['id'] ) . '_color_picker" class="colorSelector"><div style="' . esc_attr( 'background-color:' . $background['color'] ) . '"></div></div>';

    $output .= '<input class="of-color of-background of-background-color" name="' . esc_attr( $option_name . '[' . $value['id'] . '][color]' ) . '" id="' . esc_attr( $value['id'] . '_color' ) . '" type="text" value="' . esc_attr( $background['color'] ) . '" />';


    wäre echt cooool wenn mir jemand helfen könnte :-P

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • wilkommen in forum :-)

    bei problemen mit einem gekauften theme am besten beim theme-entwickler anfragen, weil hier im forum niemand freien zugriff auf alle theme-dateien hat.

    vom geposteten abschnitt kann jedenfall niemand erkennen, wo der fehler herkommt.

  • Habe gerade keine Lust ein Script von mir rauszukramen, sollte so in etwa aussehen. Hatte das aber mit Variablen und da schrieb es sich dann halt so [(string)$color], wenn ich micht recht erinnere.

    PHP
    esc_attr( $background[(string)'color'] ) .

    Sehe gerade, hier scheinen die Anführungszeichen zu fehlen bei color:

    PHP
    $value['id'] . '][color]'


    Color wird deshalb für eine int Zahl gehalten, nehme ich mal an und PHP bekommt einen Husten, weil so eine Ziffer unbekannt. Weiß es nicht, denke es mir nur.

    Einmal editiert, zuletzt von Melewo (11. Februar 2014 um 21:02)

  • Aber wie so wird das dann so geschrieben, wird ja dadurch zum String und kann Color nicht mehr aus einem Array holen. Und warum hast Du den Text nicht als Code hier formatiert, damit mal etwas von der Syntax zu erkennen ist?

    PHP
    '][color]'

    Jedenfalls ist das nur eine Warnung und kein Error und eigentlich kommt die nur dann, weil irgendeine Kleinigkeit mit der Umwandlung in String nicht stimmt. Ist jetzt nur schwer feststellbar. Für den Entwickler sollte es einfach sein.

    Das erste Beispiel mit (string)'color' vergiss, das kann so nicht gehen, nur mit einer Variablen.

    Einmal editiert, zuletzt von Melewo (11. Februar 2014 um 21:35)

  • So sollte es funktionieren, zuerst color in einer Variablen speichern, dann bei $background [$neuefarbe->scalar] oder [(string)$neuefarbe] benutzen.

    PHP
    $neuefarbe = 'color';
    $background[$neuefarbe->scalar];

    Kleine Testreihe:

  • Meine Antworten und Tests bezogen sich auf

    "Illegal offset type",

    weil ich damit schon zu tun hatte. Deine Fehlermitteilung ist hingegen

    "Illegal string offset",

    was nicht mehr bedeutet, als dass 'color' kein Schlüssel aus einem Array ist, sondern ein einfacher String. Habe erst ein paar Antworten bei StackOverflow gefunden und hier ist noch etwas leichter Verständliches:

    http://www.masterlevel.de/blog/php-5-4-w…-string-offset/

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!