Script-solution.de » Community » Support-Board » Foren » Boardsolution » Boardsolution v1.4x » Mod-Anleitungen » Administrative Willkommensseite
  • Willkommen, Gast!
  • Freitag, 10. Februar 2012, 05:13:08
 
Thema: "Administrative Willkommensseite" [ Seite 1 ]

Kein neuer Beitrag Mars , 27.05.2009, 20:18
Beitrag #1   

IP: n/a
Rang: * * * * * * *
Registrierung: 04.09.2007, 15:49
Homepage: http://www.mliebgott.de
Wohnort: Gera/Dresden
 

Forum-Gott mit 895 Punkte, 597 Beiträge
Hallo,

habe mich mal probiert an einem neuen Modul, leider muss Nils noch drüber schauen, da nicht alle
Sachen so funktionieren, wie gewollt.

Also nun.

Öffne die datei font/src/document.php und ändere Z:79
PHP:
1
2
3
4
5
6
// determine start-module
if($cfg['enable_portal'] == 1 &&
  (!$user->is_loggedin() || $user->get_profile_val('startmodule') == 'portal'))
  $default = 'portal';
else
  $default = 'forums';

in
PHP:
1
2
3
4
5
6
7
8
// determine start-module
if(!$user->is_loggedin() && $cfg['welcomesite_enable'] == 1)
  $default = 'welcome';
else if($cfg['enable_portal'] == 1 &&
  (!$user->is_loggedin() || $user->get_profile_val('startmodule') == 'portal'))
  $default = 'portal';
else
  $default = 'forums';


dann erstelle eine neue Datei in themes/***/templates/ und nenne diese welcome.htm
Hier der Code:
(BS-)Template:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{include "inc_header.htm"}

<div>
      <div class="bs_border">
          <h1 class="bs_topic">{glocale.lang('welcome_topic_msg')}</h1>
            <table width="100%" cellpadding="0" cellspacing="0" style="table-layout: fixed;">
              <tr>
                  <td class="bs_main">
                    <div>
                    <a class="bs_button_big">{for_guest_user_online}</a>
                    <a class="bs_button_big">{general:posts_total} {glocale.lang('posts')}</a>
                    </div>
                    {welcomesite_text}
                    <br />                    
                    <br />
                    <a class="bs_button_big" href="index.php?action=register" title="{glocale.lang('register')}">{glocale.lang('register')}</a>
                    <a class="bs_button_big" href="index.php?action=forums" title="{glocale.lang('to_forums')}">{glocale.lang('to_forums')}</a>
                    </td>  
                </tr>
            </table>
        </div>
</div>

{include "inc_footer.htm"}


Dazu natürlich das selbe in front/module/welcome/ mit Namen module.php
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/**
 * Contains the welcome-module
 * @author         Marcel Liebgott <mar-li@web.de>
 * @copyright      2009 Marcel Liebgott 
 * @link         http://www.tt-otg1902.de.de; http://www.kfs-tt.de
 */

/**
 * The welcome-module
 * 
 * @package         Boardsolution
 * @subpackage      front.module
 * @author         Marcel Liebgott <mar-li@wb.de>
 */
final class BS_Front_Module_welcome extends BS_Front_Module
{
   /**
    * @see FWS_Module::init($doc)
    *
    * @param BS_Front_Document $doc
    */
   public function init($doc)
   {
      parent::init($doc);
      
      $locale = FWS_Props::get()->locale();
      $cfg = FWS_Props::get()->cfg();
      $renderer = $doc->use_default_renderer();
      
      $renderer->add_breadcrumb($locale->lang('welcome'),BS_URL::build_mod_url('welcome'));
   }
   
   /**
    * @see FWS_Module::run()
    */   
   public function run()
   {
      $db = FWS_Props::get()->db();
      $locale = FWS_Props::get()->locale();
      $cfg = FWS_Props::get()->cfg();
      $tpl = FWS_Props::get()->tpl();
      $cache = FWS_Props::get()->cache();
      $functions = FWS_Props::get()->functions();
      $locale->add_language_file('welcome');
      
      $online = BS_Front_OnlineUtils::get_currently_online_user();
      
      $for_guest_user_online = $online['online_total'].' '.$locale->lang('useronline');
      
      $stats_data = $functions->get_stats();
      $tpl->add_variable_ref('general',$stats_data);
      
      $welcomesite_enable = $db->get_row('SELECT value FROM '. BS_TB_CONFIG .' WHERE id = 155');
      $welcomesite_text = $db->get_row('SELECT value FROM '. BS_TB_CONFIG .' WHERE id = 156');
      
      $stats = array();
            
      $tpl->add_variables(array(
         'enable'            => $welcomesite_enable,
         'welcomesite_text'       => $welcomesite_text['value'],
         'for_guest_user_online' => $for_guest_user_online,
      ));
   }
   

}


So jetzt zum Administratorenbereich:

Wieder ein neues Template ertsllen mit Namen welcomesite.htm unter acp/templates/
(BS-)Template:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{include "inc_header.htm"}

{if module_error == false}

<form name="form_insert" method="post" action="{target_url}">
<input type="hidden" name="action_type" value="{action_type}" />

<div class?"a_border a_pad">
  <h1 class="a_topic">{glocale.lang('welcomesite')}</h1>
  
    <fieldset class="a_form">
    <dl>
      <dt>
             {glocale.lang('welcomesite_enable')}
        </dt>
        </dl>
        <dd>
          {form.get_radio_yesno('welcomesite_enable',enable)}
        </dd>
  </fieldset>
  <fieldset class="a_form">
            {include "inc_post_form.htm"}
    </fieldset>
</div>
<center>
  <input type="submit" name="submit" value="{glocale.lang('save')}" />
  <input type="button" value="{glocale.lang('back')}" onclick="document.location.href = '{base_url}';" />
</center>
</form>

{endif}

{include "inc_footer.htm"}

Dazu wieder die Datei module.php unter dem Ordner scp/module/welcomesite
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/**
 * Contains the welcome-module
 * @author         Marcel Liebgott <mar-li@web.de>
 * @copyright      2009 Marcel Liebgott 
 * @link         http://www.tt-otg1902.de.de; http://www.kfs-tt.de
 */

/**
 * The welcome-module
 * 
 * @package         Boardsolution
 * @subpackage      front.module
 * @author         Marcel Liebgott <mar-li@web.de>
 */
final class BS_ACP_Module_welcomesite extends BS_ACP_Module
{
   /**
    * @see FWS_Module::init($doc)
    *
    * @param BS_Front_Document $doc
    */
   public function init($doc)
   {
      parent::init($doc);
      
      $locale = FWS_Props::get()->locale();
      $cfg = FWS_Props::get()->cfg();
      $renderer = $doc->use_default_renderer();
      
      $renderer->add_breadcrumb($locale->lang('welcomesite'),BS_URL::build_mod_url('welcomesite'));
      
   }
   
   /**
    * @see FWS_Module::run()
    */   
   public function run()
   {
      $db = FWS_Props::get()->db();
      $input = FWS_Props::get()->input();
      $locale = FWS_Props::get()->locale();
      $cfg = FWS_Props::get()->cfg();
      $tpl = FWS_Props::get()->tpl();
      $cache = FWS_Props::get()->cache();
      $functions = FWS_Props::get()->functions();
      $locale->add_language_file('welcomesite');
      
      $form = $this->request_formular(false);
      
      
      $welcomesite_enable = $input->get_var('welcomesite_enable','post',FWS_Input::STRING);
      $welcomesite_text = $input->get_var('text','post',FWS_Input::STRING);
            
      //select
      $row_text = $db->get_row('SELECT value FROM '. BS_TB_CONFIG .' WHERE id = 156');
      $enable = $db->get_row('SELECT value FROM '. BS_TB_CONFIG .' WHERE id = 155');

      // update db
      if($welcomesite_text != "" || $welcomesite_enable != ""){
         $db->update(BS_TB_CONFIG,'WHERE id = 155',array(
            'value' =>    $welcomesite_enable
         ));
         $db->update(BS_TB_CONFIG,'WHERE id = 156',array(
            'value' =>    $welcomesite_text
         ));
      }
      
      // add welcomesite form
      $pform = new BS_PostingForm($locale->lang('welcomesite'),$row_text['value']);
      $pform->set_textarea_height('150px');
      $pform->add_form();
      
      // some other stuff
      $tpl->add_variables(array(
         'welcomesite_text' => $form->get_input_value('text',$row_text['value']),
         'enable' => $enable['value'],
         'welcomesite_enable' => $cfg['welcomesite_enable']
      ));
   }
}


Zu guter letzt noch die Spracheinträge:
language/ger_du/admin.ini einfach unten Einfügen
Code:
1
2
welcomesite = "Willkommensseite"
welcomesite_enable = "Willkommensseite aktivieren"


und laguage/ger_du/index.ini ebenfalls unten einfügen
Code:
1
2
to_forums = "Zu den Foren"
welcome_topic_msg = "Überschrift"


So Nils müsstest nur in der module.php von acp bitte schauen.

Viel Spaß.

MfG Marcel

PS: Bitte nehmt mir es nciht übel wenn Fehler drinne sind, aber ich verusche mir gerade in BS
hineinzubasteln ;-)
Dieser Beitrag wurde insgesamt 1 mal editiert. Das letzte mal 27.05.2009, 20:27 von Mars.

 
Kein neuer Beitrag Nils , 28.05.2009, 09:41
Beitrag #2   

IP: n/a
Rang: * * * * * * *
Registrierung: 01.07.2003, 18:55
Homepage: http://www.script-solution.de
Wohnort: Marburg
 

Forum-Gott mit 7594 Punkte, 7360 Beiträge
Hallo,

erstmal Danke für die Anleitung!
Ich habe jetzt gerade keine Zeit das auszuprobieren. Mir sind aber beim drüberschauen (neben
verbesserungsfähigen Kleinigkeiten) folgende Dinge aufgefallen:

  • Im Front-Template welcome.htm solltest du die URLs (index.php?action=forums, ...) nicht hardcoded
    angeben, sondern generieren lassen. Dadurch wird eine andere Benennung von Parametern ("action"
    z.B.) berücksichtigt und vor allem ob eine Session-ID angehängt werden muss. Generieren kannst du
    die im Modul mit BS_URL::build_mod_url() und dann ans Template übergeben.
  • Das $locale->add_language_file('welcome'), also das Laden von Sprachdateien, ist natürlich nur
    notwendig, wenn du auch eine namens welcome.ini hast. Das scheint ja nicht der Fall zu sein :)
  • Im ACP-Template sind einige Fehler:
    (BS-)Template:
    1
    <div class?"a_border a_pad">

    und
    (BS-)Template:
    1
    2
    3
    4
    5
    6
    7
    8
    <dl>
          <dt>
                 {glocale.lang('welcomesite_enable')}
            </dt>
            </dl>
            <dd>
              {form.get_radio_yesno('welcomesite_enable',enable)}
            </dd>

    (falsche Tag-Reihenfolge)
  • Außerdem hast du da 2 Fieldsets, was auch nicht wirklich sinnvoll ist :)
  • In den Sprachdateien sollte man besser keine Umlaute verwenden, sondern diese mit HTML-Entities
    angeben:
    Code:
    1
    welcome_topic_msg = "&Uuml;berschrift"


Ansonsten ist mir kein wirklicher Fehler aufgefallen.

Mars hat folgendes geschrieben:
habe mich mal probiert an einem neuen Modul, leider muss Nils noch drüber schauen, da nicht alle
Sachen so funktionieren, wie gewollt.

Was denn? ;)

mfg Nils

 
Kein neuer Beitrag Mars , 28.05.2009, 18:48
Beitrag #3   

IP: n/a
Rang: * * * * * * *
Registrierung: 04.09.2007, 15:49
Homepage: http://www.mliebgott.de
Wohnort: Gera/Dresden
 

Forum-Gott mit 895 Punkte, 597 Beiträge
Mir ist gerade nochwas eingefallen bzw. habe ich ncoh einen kleinen Hinweis bekommen ^^
Ihr müsst noch was ist die Tabelle bs_cfg hinzufügen und zwar:
id = 155 hat folgendes geschrieben:
name: welcomesite_enable
type: yesno
default: 1
id = 156 hat folgendes geschrieben:
name: welcomesite_text
type: text


Dan muss man es ja irgendwie aufrufen können.
Öffne die Datei acp/src/menu.php und setze

PHP:
1
2
3
'welcomesite' => array(
  'title' => 'welcomesite',
),

an die gewünschte Stelle.
Demo gibt es leider noch nicht aber werde mal ein Bild hochladen.

MfG Marcel
Anhänge:
welcome.JPG 84.574 Bytes 28 Downloads

n/a n/a 1     ( Anzeige: 1 - 3 , Gesamt: 3 ) n/a n/a
User in diesem Thema: 0 Registrierte, 0 Versteckte, 1 Gast, 0 Bots
Keine
Thema-Aktionen:

Toggle Ähnliche Themen zu "Administrative Willkommensseite"
  Antworten Aufrufe Themeneröffnung Letzter Beitrag
Es wurden keine Themen gefunden.
  • 0.118398 Sek., 11 DB-Zugriffe, 6.381 MiB
  • Boardsolution v1.43 | © Nils Asmussen 2003-2009
Valid XHTML and CSS © 2003 - 2009 script-solution.de, Powered by Joomla!