Brauche diesmal hilfe wegen ACP

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
pierre63
Mitglied
Beiträge: 24
Registriert: 28.03.2018 07:41
Kontaktdaten:

Brauche diesmal hilfe wegen ACP

Beitragvon pierre63 » 01.08.2018 23:31

Hallo

Ich nerve bestimmt aber fragen kostet ja nichts, und irgendwann behersche ich bestimmt mal mehr. :grin: :grin:

Ich möchte gerne im ACP ein neues Feld erstellen und habe soweit das Template fertig glaube ich.
Jetzt weis ich nicht wie ich dazu ein ACP Modul erstelle, ich habe diese Anleitung schon 5 mal durchgelesen
und probiert aber es klappt einfach nicht.
https://wiki.phpbb.com/Deutsch:Erstellen_von_Modulen#Beispiel_ACP_Modul

Es soll dort nur eingestellt werden ob die jagd an sein soll oder aus.

In der DB ist die passende tabelle "phpbb_jagd" vorhanden und spalte jagdon_off auch,diese soll dann über das ACP Template auf 1 oder 0 stehen

Hat jemand vielleicht eine kleine Anleitung wie ich das Module bzw die PHP für´s ACP erstelle kann und was dort alles rein soll?

Nach drei Tage basteln und kein geringe erfolg brauche ich wohl jeder menge hilfe.

Mein template sieht so aus ( Sprachpaket mache ich noch :P, habe es erstmal so rein geschrieben )

Code: Alles auswählen

<!-- INCLUDE overall_header.html -->

   <h1>Jagd </h1>
   <p>Einstellungen für die Jagd</p>
    <form id="register" method="post" autocomplete="off" action="{U_ACTION}">
   <fieldset>
   <legend>Jagd</legend>
   <dl>
   <form method="post" action="{S_FORM_ACTION}">
    <fieldset>
        <dl>
            <dt><label for="jagd_enabled">Jagd Aktiv</label></dt>
            <dd>
                <input type="radio" class="radio" name="jagd_enabled" value="1" <!-- IF S_JAGD_ENABLED --> checked="checked"<!-- ENDIF -->/> {L_YES} &nbsp;
                <input type="radio" class="radio" name="jagd_enabled" value="0" <!-- IF not S_JAGD_ENABLED --> checked="checked"<!-- ENDIF -->/> {L_NO}
            </dd>
        </dl>
    </fieldset>
      
   <fieldset class="quick">
      <input class="button1" type="submit" name="submit" value="{L_SUBMIT}" />
      {S_FORM_TOKEN}
   </fieldset>

</form>
<!-- INCLUDE overall_footer.html -->

Benutzeravatar
Kirk
Supporter
Supporter
Beiträge: 5958
Registriert: 24.05.2010 08:31
Kontaktdaten:

Re: Brauche diesmal hilfe wegen ACP

Beitragvon Kirk » 02.08.2018 08:23

Hallo
Am besten du erstellst dir eine Extension.
Eigene phpBB Erweiterungen erstellen

pierre63
Mitglied
Beiträge: 24
Registriert: 28.03.2018 07:41
Kontaktdaten:

Re: Brauche diesmal hilfe wegen ACP

Beitragvon pierre63 » 02.08.2018 19:15

Naja alles durchgelesen und genau so schlau wie vorher.
Habe gedacht es kann mir jemanden an hand von mein Template
sagen welcher befehle ich da nutzen muss damit der eintrag in der DB geändert wird
und ich so das prinzip lerne.

Aber danke für deine Antwort werde weiter testen

Benutzeravatar
Kirk
Supporter
Supporter
Beiträge: 5958
Registriert: 24.05.2010 08:31
Kontaktdaten:

Re: Brauche diesmal hilfe wegen ACP

Beitragvon Kirk » 02.08.2018 19:54

Es gibt auch eine Extension mit der man Extensions erstellen kann: phpBB Ext Skeleton

pierre63
Mitglied
Beiträge: 24
Registriert: 28.03.2018 07:41
Kontaktdaten:

Re: Brauche diesmal hilfe wegen ACP

Beitragvon pierre63 » 03.08.2018 09:27

Danke für den Tip habe damit eine extension erstellt.

Welchen befehl müßte ich dort einfügen damit er in der DB 1 oder 0 einstellt
in die tabelle "phpbb_jagd?
Ich habe dort mal mit eine erstellte Demo folgendes getestet , funktioniert aber nicht
Es stimmt bestimmt die zuweisung zu die DB Tabelle nicht vermute ich mal

main_module.php

Code: Alles auswählen

namespace zockerbande\jagd\acp;

/**
 * jagd ACP module.
 */
class main_module
{
   public $page_title;
   public $tpl_name;
   public $u_action;

   public function main($id, $mode)
   {
      global $jagd, $request, $template, $user;

      $user->add_lang_ext('zockerbande/jagd', 'common');
      $this->tpl_name = 'acp_demo_body';
      $this->page_title = $user->lang('ACP_DEMO_TITLE');
      add_form_key('acme/demo');

      if ($request->is_set_post('submit'))
      {
         if (!check_form_key('acme/demo'))
         {
            trigger_error('FORM_INVALID', E_USER_WARNING);
         }

         $jagd->set('hsjagd_onoff', $request->variable('jagd', 0));

         trigger_error($user->lang('ACP_DEMO_SETTING_SAVED') . adm_back_link($this->u_action));
      }

      $template->assign_vars(array(
         'U_ACTION'            => $this->u_action,
         'JAGD'      => $jagd['jagd_onoff'],
      ));
   }
}



Das Template acp_demo_body.html:


Code: Alles auswählen

<!-- INCLUDE overall_header.html -->

<h1>{L_ACP_DEMO_TITLE}</h1>

<form id="acp_board" method="post" action="{U_ACTION}">

   <fieldset>
      <legend>{L_SETTINGS}</legend>
      <dl>
         <dt><label for="jagd_onoff">{L_ACP_JAGD}{L_COLON}</label></dt>
         <dd><label><input type="radio" class="radio" name="jagd_onoff" value="1" <!-- IF JAGD_ONOFF -->checked="checked"<!-- ENDIF -->/> {L_YES}</label>
            <label><input type="radio" class="radio" name="jagd_onoff" value="0" <!-- IF not JAGD_ONOFF -->checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
      </dl>
   </fieldset>

   <fieldset class="submit-buttons">
      <input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
      <input class="button2" type="submit" name="preview" value="{L_PREVIEW}" />
      {S_FORM_TOKEN}
   </fieldset>

</form>

<!-- INCLUDE overall_footer.html -->

Benutzeravatar
Kirk
Supporter
Supporter
Beiträge: 5958
Registriert: 24.05.2010 08:31
Kontaktdaten:

Re: Brauche diesmal hilfe wegen ACP

Beitragvon Kirk » 03.08.2018 13:26

Für die Einträge in die Datenbank brauch man eine migrations Datei, ob dieses Tool diese ebenfalls erstellt weiß ich auf die Schnelle nicht.

pierre63
Mitglied
Beiträge: 24
Registriert: 28.03.2018 07:41
Kontaktdaten:

Re: Brauche diesmal hilfe wegen ACP

Beitragvon pierre63 » 03.08.2018 16:19

Ich dachte es wäre einfacher über ACP an oder aus zu stellen
mittels ja oder nein auswahlfeld.

Ist schon ok, diese ganze Links bringen mir eigentlich auch nicht weiter.

Trotzdem danke

Benutzeravatar
Kirk
Supporter
Supporter
Beiträge: 5958
Registriert: 24.05.2010 08:31
Kontaktdaten:

Re: Brauche diesmal hilfe wegen ACP

Beitragvon Kirk » 04.08.2018 09:38

Schau dir mal einige Extensionen an die ein ACP Modul besitzen, zugegeben einfach ist es nicht, man muss sich auch intensiv damit befassen.

pierre63
Mitglied
Beiträge: 24
Registriert: 28.03.2018 07:41
Kontaktdaten:

Re: Brauche diesmal hilfe wegen ACP

Beitragvon pierre63 » 04.08.2018 11:33

Vielleicht kannst du mal ein blick auf meine neu erstellte sache werfen,
bin bestimmt schon nah dran :lol: :lol:

main_module.php

Code: Alles auswählen

<?php
/**
 *
 * jagd. An extension for the phpBB Forum Software package.
 *
 * @copyright (c) 2018, Pierre, www.arcade-zockerbande.de
 * @license GNU General Public License, version 2 (GPL-2.0)
 *
 */

namespace zockerbande\jagd\acp;

/**
 * jagd ACP module.
 */
class main_module
{
   public $page_title;
   public $tpl_name;
   public $u_action;

   public function main($id, $mode)
   {
      global $config, $request, $template, $user, $db;

      $user->add_lang_ext('zockerbande/jagd', 'common');
      $this->tpl_name = 'acp_demo_body';
      $this->page_title = $user->lang('ACP_DEMO_TITLE');
      add_form_key('acme/demo');
      

   
            if ($request->is_set_post('submit'))
      {
         if (!check_form_key('acme/demo'))
         {
            trigger_error('FORM_INVALID', E_USER_WARNING);
         }
         
   

         $jagd->set('jagd_onoff', $request->variable('jagd_onoff', 0));

         trigger_error($user->lang('ACP_DEMO_SETTING_SAVED') . adm_back_link($this->u_action));
      }
      $sql = 'SELECT * FROM phpbb_jagd WHERE id = 1 ORDER BY id';
                            $result = $db->sql_query($sql);
                            while ($row = $db->sql_fetchrow($result))
                            {
      $template->assign_vars(array(
         'U_ACTION'            => $this->u_action,
         'JAGD_ONOFF'      => $row['jagd_onoff'],
         ));
      
   }
}
}
      


Hier das template acp_demo_body.html

Code: Alles auswählen

<!-- INCLUDE overall_header.html -->

<h1>{L_ACP_DEMO_TITLE}</h1>

<form id="acp_board" method="post" action="{U_ACTION}">

   <fieldset>
      <legend>{L_SETTINGS}</legend>
      <dl>
         <dt><label for="jagd_onoff">{L_ACP_JAGD}{L_COLON}</label></dt>
      
         <dd><label><input type="radio" class="radio" name="jagd_onoff" value="1" <!-- IF JAGD_ONOFF -->checked="checked"<!-- ENDIF -->/> {L_YES}</label>
            <label><input type="radio" class="radio" name="jagd_onoff" value="0" <!-- IF not JAGD_ONOFF -->checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
      </dl>
   </fieldset>

   <fieldset class="submit-buttons">
      <input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
      <input class="button2" type="submit" name="preview" value="{L_PREVIEW}" />
      {S_FORM_TOKEN}
   </fieldset>

</form>

<!-- INCLUDE overall_footer.html -->      
      

pierre63
Mitglied
Beiträge: 24
Registriert: 28.03.2018 07:41
Kontaktdaten:

Re: Brauche diesmal hilfe wegen ACP

Beitragvon pierre63 » 05.08.2018 11:58

Hat denn keinen mal einen Tip?

Ich dachte hier schreiben so viele ihre eigenene EXT :( :(


Zurück zu „Coding & Technik“