MyBB.de Forum
Drop down Menü mit Sprachvariablen definieren - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Entwicklung (https://www.mybb.de/forum/forum-74.html)
+--- Thema: Drop down Menü mit Sprachvariablen definieren (/thread-37769.html)

Seiten: Seiten: 1 2


Drop down Menü mit Sprachvariablen definieren - Gerti - 26.03.2021

In einem PlugIn können im ACP im Auswahlfeld z.B. 10 Optionen gewäht werden.
PHP-Code:
// Drop down menu with 10 items
    $select10 implode("\n", array("select""0=No""1=Yes (Order 1)",
                                    "2=Yes (Order 2)""3=Yes (Order 3)",
                                    "4=Yes (Order 4)""5=Yes (Order 5)",
                                    "6=Yes (Order 6)""7=Yes (Order 7)",
                                    "8=Yes (Order 8)""9=Yes (Order 9)",
                                    "10=Yes (Order 10)")); 
Wie kann ich anstelle von
"0=NO",
"1=Yes (Order 1)",
"2=Yes (Order 2)",
"3=Yes (Order 3)",

usw. Sprachvariablen wie:
"0=$db->escape_string($lang->testing_select_00)",
"1=$db->escape_string($lang->testing_select_01)",
"2=$db->escape_string($lang->testing_select_02)",
"3=$db->escape_string($lang->testing_select_03)",

usw. verwenden.

Dies ist erforderlich, weil ich die Sprachdateien auch in Deutsch habe und je nach ACP-Einstellungen soll auch der Text auch in passender Sprache korrekt angezeigt werden.

All meine Versuche ergeben (wegen den Anführungszeichen am Anfang/Ende, mit/ohne etc?) eine PHP-Fehlermeldung der Zeile. Dies habe ich jetzt, meines Erachtens nach, in verschiedenen Kombinationen versucht. Vermutlich sehe ich den Wald vor lauter Bäumen nicht.

Die andere Sprachvariablen wie z.B. "name" und "description" funktionieren perfekt.
PHP-Code:
$setting = array(
        "name" => "org_testing_select",
        "title" => $db->escape_string($lang->testing_select),
        "description" => $db->escape_string($lang->testing_select_desc),
        "optionscode" => $select10,
        "value" => 0,
        "disporder" => $disp++,
        "gid" => intval($gid)
        );
    $db->insert_query("settings"$setting); 

Für Tipps und Hinweise vorab besten Dank.


RE: Drop down Menü mit Sprachvariablen definieren - Schnapsnase - 26.03.2021

"0" => $db->escape_string($lang->testing_select_00),

So sollte das eigentlich gehen.


RE: Drop down Menü mit Sprachvariablen definieren - Gerti - 26.03.2021

Danke für Dein Enagement, aber was so logisch klingt ist leider mit einem nagativen Ergebnis behaftet.

Wenn ich:
PHP-Code:
// Drop down menu with 10 items
    $select10 implode("\n", array("select""0"=>$db->escape_string($lang->testing_select_00),
"1"=>$db->escape_string($lang->testing_select_01),
"2"=>$db->escape_string($lang->testing_select_02), 
(usw.) verwende, wird mir die Auswahl gar nicht mehr angezeigt.

Was könnte da noch fehlen?


RE: Drop down Menü mit Sprachvariablen definieren - SvePu - 26.03.2021

select gibt es in diesem Zusammenhang nicht als optioncode

Versuche checkbox (bei Mehrfachauswahl) oder radio (als Einzelwahl)


RE: Drop down Menü mit Sprachvariablen definieren - Schnapsnase - 26.03.2021

(26.03.2021, 15:21)SvePu schrieb: select gibt es in diesem Zusammenhang nicht als optioncode

Hallo Sven,

warum nicht? Schau bitte hier
Ich weiß allerdings gerade nicht, warum die Sprachvariablen nicht im Array funktionieren sollten.


RE: Drop down Menü mit Sprachvariablen definieren - [ExiTuS] - 26.03.2021

Wie sieht es aus, wenn du die Sprachvariablen aus dem String 'herausholst'?
Code:
$setting = array(
# ...
    "optionscode"    => "select\n0=" . $db->escape_string($lang->testing_select_00) . "\n1=" . $db->escape_string($lang->testing_select_01) . "\n2=" . $db->escape_string($lang->testing_select_02) . "\n3=" . $db->escape_string($lang->testing_select_03),
# ...
);

[ExiTuS]


RE: Drop down Menü mit Sprachvariablen definieren - Gerti - 26.03.2021

So:
PHP-Code:
$select10 = ("select\n0=" $db->escape_string($lang->test_select_00) . "\n1=" $db->escape_string($lang->test_select_01) . "\n2=" $db->escape_string($lang->test_select_02) . "\n3=" $db->escape_string($lang->test_select_03) . "\n4=" $db->escape_string($lang->test_select_04) . "\n5=" $db->escape_string($lang->test_select_05) . "\n6=" $db->escape_string($lang->test_select_06) . "\n7=" $db->escape_string($lang->test_select_07) . "\n8=" $db->escape_string($lang->test_select_08) . "\n9=" $db->escape_string($lang->test_select_09) . "10=" $db->escape_string($lang->test_select_10)); 
scheint es zu funktionieren. Bei der Auswahl habe ich zwischen 9 und 10 eine Leerzeile. Lasse ich bei der letzten Definition (10) das \n weg ist die Leeerzeile weg. Verstehe muss ich das nicht.

Mit der Lösung kann ich den Inhalt der Variable $select10 bei
PHP-Code:
"optionscode" => $select10
bei mehreren Abfrageabschnitte verwenden

Besten Dank an Euch für die Hilfestellung.


RE: Drop down Menü mit Sprachvariablen definieren - SvePu - 26.03.2021

(26.03.2021, 15:35)Schnapsnase schrieb:
(26.03.2021, 15:21)SvePu schrieb: select gibt es in diesem Zusammenhang nicht als optioncode

Hallo Sven,

warum nicht? Schau bitte hier
Ich weiß allerdings gerade nicht, warum die Sprachvariablen nicht im Array funktionieren sollten.

Opps....hast Recht, ich bin von Auswahlfelder (Selectboxen) ausgegangen...nicht von einem Auswahlmenü.. Blush


RE: Drop down Menü mit Sprachvariablen definieren - Gerti - 26.03.2021

(26.03.2021, 17:02)SvePu schrieb: Opps....hast Recht, ich bin von Auswahlfelder (Selectboxen) ausgegangen...nicht von einem Auswahlmenü.. Blush
und wie müsste es bei einem Auswahlmenü mit Sprachvariablen funktionieren?


RE: Drop down Menü mit Sprachvariablen definieren - SvePu - 26.03.2021

Hier findst du ein Beispiel, wie es prinzipell funktioniert, allerding sind es da im Optioncode Checkboxen und kein Auswahlmenü.

Die entsprechenden Sprachvariablen sind dann bspw. hier definiert.