Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Snowfall (Frontend)
@gerti da haste mal wieder recht. ist ja automatisiert. hatte ich doch glatt nicht mehr dran gedacht.
Zitieren
(09.01.2024, 18:20)[ExiTuS] schrieb: Wie wäre es, wenn du es einfach per Schaltfläche (Link oder Button) schneien lässt?
Die Ideen für das PlugIn nehmen nehmen keine Ende Wink.
Habe mal spaßeshalber versucht Deinen sinnvollen Gedanken umzusetzen.

Ich scheitere aktuell daran, dass z.B. im Template header_welcomeblock_member die id="snow_checkbox" nicht funktioniert.

Ich vermute mal, dass dafür im PlugIn ein Hook für die
PHP-Code:
function snowfall_usercp () {Inhalt
definiert werden muss, denn im UserCP mit den Hooks
PHP-Code:
$plugins->add_hook("usercp_options_end""snowfall_usercp");
$plugins->add_hook("usercp_do_options_end""snowfall_usercp"); 
funktioniert es ja korrekt.

Für das Template header_welcomeblock_member habe ich mit:
PHP-Code:
$plugins->add_hook('header_welcomeblock_member'' snowfall_usercp '); 
und
PHP-Code:
$plugins->add_hook('global_start'' snowfall_usercp '); 
versucht, aber leider ohne Erfolg.

Hat mir jemand Tipps oder Hinweise hierzu wie ich die Checkbox auch im Template header_welcomeblock_member in Funktion bringe?

Danke vorab.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an!  ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner] ♦ [PlugIns]
Zitieren
Versuche mal den Hook "global_intermediate".
Zitieren
Danke für Dein Engagement eine Lösung zu finden.
PHP-Code:
$plugins->add_hook("global_intermediate""snowfall_usercp"); 
erbrachte leider nicht den gewünschten Funktionserfolg.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an!  ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner] ♦ [PlugIns]
Zitieren
(13.01.2024, 17:52)Gerti schrieb: Danke für Dein Engagement eine Lösung zu finden.
PHP-Code:
$plugins->add_hook("global_intermediate""snowfall_usercp"); 
erbrachte leider nicht den gewünschten Funktionserfolg.

Welche Funktion soll denn erzielt werden?
Möglicherweise genügt es auch nicht, einfach nur einen weiteren Hook zu nutzen. In der Funktion "snowfall_usercp()" werden auch Variablen verwendet, die zwar im User-CP vorhanden sind, aber zB. nicht im Header.
Zitieren
(13.01.2024, 20:39)doylecc schrieb: Welche Funktion soll denn erzielt werden?
Dass die Checkbox analog wie im Benutzer-CP funktioniert
(13.01.2024, 20:39)doylecc schrieb: Möglicherweise genügt es auch nicht, einfach nur einen weiteren Hook zu nutzen. In der Funktion "snowfall_usercp()" werden auch Variablen verwendet, die zwar im User-CP vorhanden sind, aber zB. nicht im Header.
Daher mal wie folgt:

Im PlugIn gegeben ist:
PHP-Code:
function snowfall_usercp() {
global 
$db$mybb$cache$templates$user$lang$snowfallChecked;
    $lang->load('snowfall');

if (
$mybb->settings['snow_enable'] == && $mybb->settings['snow_check_users'] == 1) {
if (
$mybb->request_method == "post") {
$update_array = array(
"showsnowfall_stop" => intval($mybb->input['showsnowfall_stop'])
);
      
$db
->update_query("users"$update_array"uid = '".$user['uid']."'");
}
$snowfallChecked $mybb->user['showsnowfall_stop'] ? "checked=\"checked\"" "";
    } else {
        $snowfallChecked "";
        if ($mybb->user['showsnowfall_stop'] != 0) {
            $db->update_query("users", array("showsnowfall_stop" => 0), "uid = '".$user['uid']."'");
        }
    }


In den Templates usercp_options und header_welcome_block_member ist gegeben:
Code:
<tr>
<td valign="top" width="1"><input type="checkbox" class="snow_checkbox" name="showsnowfall_stop" id="showsnowfall_stop" value="1" {$snowfallChecked} /></td>
<td><span class="smalltext"><label for="showsnowfall_stop">{$lang->ucp_snowfall_question_with_page_info}</label></span></td>
</tr>

Im Benutzer-CP funktioniert es korrekt  = Checkbutton kann de-/aktiviert werden und wird je nach Datenbankinhalt von showsnowfall_stop gesetzt.
Im Header-Header funktioniert das de-/aktivieren jedoch nicht. Zustand des Datenbankinhaltes von showsnowfall_stop wird auch nicht angezeigt.

Somit die Frage was zur korrekten Funktion im Header a) im Header-Template und b) im Plugin für den Header angepasst/definiert werden muss.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an!  ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner] ♦ [PlugIns]
Zitieren
Ich verstehe deinen Wunsch beide Funktionen mit dem selben Code abdecken zu wollen. Beide Stellen unterscheiden sich allerdings grundlegend.
Im Template "header_welcome_block_member" gibt es weder Tabellen noch ein Formular. Deine Tabellen-Konstruktion mit tr und td ist daher unzulässig. Das größere Problem ist allerdings die Checkbox; diese kann ohne Formular nicht funktionieren.

Ich würde hier das Konzept überdenken. Ein Link zum Deaktivieren (entweder im Header oder Footer) sieht vermutlich besser aus und lässt sich leichter umsetzen als ein neues Formular.

Ansonsten verstehe ich deinen Code so ganz. Warum wird showsnowfall_stop bei der else-Bedingungen immer auf 0 gesetzt?
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
(14.01.2024, 12:13)StefanT schrieb: Ich würde hier das Konzept überdenken. Ein Link zum Deaktivieren (entweder im Header oder Footer) sieht vermutlich besser aus und lässt sich leichter umsetzen als ein neues Formular.
Wie recht du doch hast. Danke für den Tipp! Dein Lösungsvorschlag ist eine sehr gute und leicht umsetzbare Vorgehensweise welchen nun umgesetzt habe.

Jetzt stellt sich nur die Frage, an welcher Stelle es im Header standardmäßig (kann dann letztlich jeder Admin selbst im Templäte ändern/entfernen) gewünscht ist, diese Schneefall-Info anzuzeigen.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an!  ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner] ♦ [PlugIns]
Zitieren
Habe die Anzeige rechts oben im Header plaziert.

So wird es angezeigt wenn der Scheefall vom User zugelassen (= aktiviert) ist: 
   
So wird es angezeigt wenn der Scheefall vom User nicht zugelassen (= deaktiviert) ist:
   
Klick auf die Anzeige führt direkt zum "Benutzer-CP  > Optionen ändern".

Beide Anzeigen sind nur gegeben, wenn der Schneefall seitens der Boardadministration innerhalb des vorgegebenen 
  • Datumbereichs
    und
  • Uhrzeitbereichs
    und
  • der Benutzer selbst die Auswahl treffen darf

Hat jemand weitere Vorschläge bzgl. der Buttongestaltung und -position?

Hinweis: Jeder Admin kann selbstverständlich die Definition des Buttons im Template individuell anpassen oder gar entfernen.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an!  ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner] ♦ [PlugIns]
Zitieren
Danke, dass du meine Idee mit dem Header-Buton (an/aus) aufgegriffen hast Smile
Du scheinst hier komplizierter zu denken als nötig.
Bisher lässt du deine Mitglieder über das UserCP entscheiden - also über ein Formular, indem du Schnee aktivierst oder deaktivierst. Das geht auch unabhängig vom UserCP.

Als analoges Beispiel schaue dir bitte eines meiner Foren an: hier. Im Header gibt es die Auswahl zwischen Deutschland und International. Beide Buttons sind Schaltflächen eines Formulars, das gleichzeitig die Sprache ändert - also beides sind eine Option im UserCP, die ich hier in den Header vergelagert habe. Genau auf diese Art und Weise könntest du deine UserCP-Option mit Schnee ersetzen.

(14.01.2024, 15:52)Gerti schrieb: Hat jemand weitere Vorschläge bzgl. der Buttongestaltung und -position?
Ja, ein Schneeflockensymbol, dass sich ändert, je nachdem ob aktiviert oder deaktiviert (hell, dunkel, durchgestrichen, ausgegraut etc)

[ETS]
MyBB + innovative Themes:
NokiaPort.de Forum Nokia-Traditionsforum seit 2006.
Live Escape Game Forum Diskussionsplattform für Escape-Rooms.
Unlösbares Problem, Dilemma? -> das Nötel Smile
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Overview (Frontend) MyBB.de Bot 0 615 30.03.2021, 15:15
Letzter Beitrag: MyBB.de Bot