Problem beim includen von .tpl in andere .tpl

PHP, Ajax, CSS, HTML, Javascript
Eben für die wirklich Harten, die alles selber machen.
Antworten
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Problem beim includen von .tpl in andere .tpl

Beitrag von Dungeonwatcher »

Moin! 8)

Angespornt durch den Sidebar Mod, möchte ich mir etwas Arbeit erleichtern und ein selbsterstelltes Template in andere Templates includen.

In die page_header.php:

Code: Alles auswählen

$template->set_filenames(array(
	'menu' => 'menue.tpl')
);

$template->assign_var_from_handle('MENU', 'menu');
In das Template kommt dann dies: {MENU}

Mit dieser Methode funktioniert hier das includen schon ganz passabel. Allerdings tritt ein unschönes Problem dabei auf. :confused:

Folgendes Template will ich in andere Templates nach dieser Methode einbinden:

Code: Alles auswählen

<table width="100%" cellpadding="1" cellspacing="1" border="0">
  <tr>
    <td colspan="2">&nbsp;</td>
  </tr>
  <tr>
    <td width="150px" style="vertical-align:top;">
      <table width="100%" cellpadding="2" cellspacing="1" class="forumline">
        <tr>
	  <th width="100%" class="thCornerL" height="25" nowrap="nowrap">Sidebar</th>  
        </tr>
        <tr>
	  <td class="row1" align="center"><b>Forum</b></td>
        </tr>
        <tr>
          <td class="row2"><span class="nav"><img src="templates/fiblack/images/icon_mini_house.gif" width="12" height="13" border="0" alt="Startseite" hspace="3" /><a href="{U_INDEX}">&nbsp;Startseite</a></span></td>
        </tr>
        <tr>
          <td class="row2"><span class="nav"><img src="templates/fiblack/images/icon_mini_faq.gif" width="12" height="13" border="0" alt="{L_FAQ}" hspace="3" /><a href="{U_FAQ}">&nbsp;{L_FAQ}</a></span></td>
        </tr>
        <tr>
          <td class="row2"><span class="nav"><img src="templates/fiblack/images/icon_mini_rules.gif" width="12" height="13" border="0" alt="Board Regeln" hspace="3" /><a href="rules.php" class="mainmenu">&nbsp;Board Regeln</a></span></td>
        </tr>
             <!-- BEGIN switch_user_logged_in -->
        <tr>
          <td class="row2"><span class="nav"><img src="templates/fiblack/images/icon_mini_search.gif" width="12" height="13" border="0" alt="{L_SEARCH}" hspace="3" /><a href="{U_SEARCH}">&nbsp;{L_SEARCH}</a></span></td>
        </tr>
        <tr>
          <td class="row2"><span class="nav"><img src="templates/fiblack/images/icon_mini_members.gif" width="12" height="13" border="0" alt="{L_MEMBERLIST}" hspace="3" /><a href="{U_MEMBERLIST}">&nbsp;{L_MEMBERLIST}</a></span></td>
        </tr>
        <tr>
          <td class="row2"><span class="nav"><img src="templates/fiblack/images/icon_mini_groups.gif" width="12" height="13" border="0" alt="{L_USERGROUPS}" hspace="3" /><a href="{U_GROUP_CP}">&nbsp;{L_USERGROUPS}</a></span></td>
        </tr>
        <tr>
          <td class="row2"><span class="nav"><img src="templates/fiblack/images/icon_mini_whosonline.gif" width="12" height="13" border="0" alt="{L_USERGROUPS}" hspace="3" /><a href="{U_VIEWONLINE}">&nbsp;{L_WHO_IS_ONLINE}</a></span></td>
        </tr>
        <tr>
          <td class="row2"><span class="nav"><img src="templates/fiblack/images/icon_mini_gallery.gif" width="12" height="13" border="0" alt="{L_ALBUM}" hspace="3" /><a href="{U_ALBUM}">&nbsp;{L_ALBUM}</a></span></td>
        </tr>
        <tr>
          <td class="row2"><span class="nav"><img src="templates/fiblack/images/icon_mini_chat.gif" width="12" height="13" border="0" alt="{U_INDEX}" hspace="3" /><a href="javascript:void(0);" onClick="window.open('{S_JOIN_CHAT}','{CHATBOX_NAME}','scrollbars=no,width=540,height=450')" class="mainmenu">&nbsp;Chat</a></span></td>
        </tr>
             <!-- END switch_user_logged_in -->
        <tr>
          <td class="row2"><span class="nav"><img src="templates/fiblack/images/icon_mini_folder1.gif" width="12" height="13" border="0" alt="{U_INDEX}" hspace="3" /><a href="wikipedia.php" class="mainmenu">&nbsp;Wikipedia</a></span></td>
        </tr>
        <tr>
          <td class="row2"><span class="nav"><img src="templates/fiblack/images/icon_mini_stats.gif" width="12" height="13" border="0" alt="Statistik" hspace="3" /><a href="statistics.php" class="mainmenu">&nbsp;Statistik</a></span></td>
        </tr>
        <tr>
          <td class="row2"><span class="nav"><img src="templates/fiblack/images/icon_mini_info.gif" width="12" height="13" border="0" alt="{U_INDEX}" hspace="3" /><a href="system.php" class="mainmenu">&nbsp;System</a></span></td>
        </tr>
             <!-- BEGIN switch_user_logged_in -->
        <tr>
          <td class="row1" align="center"><b>Einstellungen</b></td>
        </tr>
        <tr>
          <td class="row2"><span class="nav"><img src="templates/fiblack/images/icon_mini_folder2.gif" width="12" height="13" border="0" alt="{U_INDEX}" hspace="3" /><a href="{U_BOOKMARKS}">&nbsp;{L_BOOKMARKS}</a></span></td>
        </tr>
        <tr>
          <td class="row2"><span class="nav"><img src="templates/fiblack/images/icon_mini_profile.gif" width="12" height="13" border="0" alt="{L_PROFILE}" hspace="3" /><a href="{U_PROFILE}">&nbsp;{L_PROFILE}</a></span></td>
        </tr>
        <tr>
          <td class="row2"><span class="nav"><img src="templates/fiblack/images/icon_mini_message.gif" width="12" height="13" border="0" alt="{L_PRIVATEMSGS}" hspace="3" /><a href="{U_PRIVATEMSGS}">&nbsp;{L_PRIVATEMSGS}</a></span></td>
        </tr>
            <!-- END switch_user_logged_in -->
            <!-- BEGIN switch_user_logged_in -->
        <tr>
          <td class="row2"><span class="nav"><img src="templates/fiblack/images/icon_mini_faq.gif" width="12" height="13" border="0" alt="{U_INDEX}" hspace="3" /><a href="{U_LOGIN_LOGOUT}">&nbsp;{L_LOGIN_LOGOUT}</a></span></td>
        </tr>
             <!-- END switch_user_logged_in -->
             <!-- BEGIN switch_user_logged_out -->
        <tr>
          <td class="row2"><span class="nav"><img src="templates/fiblack/images/icon_mini_register.gif" width="12" height="13" border="0" alt="{L_REGISTER}" hspace="3" /><a href="{U_REGISTER}">&nbsp;{L_REGISTER}</a></span></td>
        </tr>
             <!-- END switch_user_logged_out -->
      </table>

<br />

<!-- BEGIN switch_user_logged_out -->

      <form method="post" action="{S_LOGIN_ACTION}">
      <table width="150px" cellpadding="0" cellspacing="0" class="forumline">
        <tr>
          <td style="vertical-align:top;" width="150px">
            <table width="100%" cellpadding="2" cellspacing="1">
              <tr>
                  <th width="125px" class="thCornerL" height="25" nowrap="nowrap">&nbsp;{L_LOGIN_LOGOUT}&nbsp;</th>
              </tr>
              <tr>
                <td class="row1" align="center">
                  <table border="0" cellspacing="0" cellpadding="2">
                    <tr>
                      <td><span class="gensmall">{L_USERNAME}:</span>
                          <input class="post" type="text" name="username" size="20" /></td>
                    </tr>
                    <tr>
                      <td><span class="gensmall">{L_PASSWORD}:</span>
                         <input class="post" type="password" name="password" size="20" maxlength="32" /></td>
                    </tr>
                    <tr>
                      <td><span class="gensmall">Automatisch einloggen</span></td>
                    </tr>
                    <tr>
                      <td><input class="text" type="checkbox" name="autologin" />
                          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                          <input type="submit" class="mainoption" name="login" value="{L_LOGIN}" /><br /><br /></td>
                    </tr>
                    <tr>
                      <td align="center"><span class="gensmall"><a href="profile.php?mode=sendpassword">Passwort vergessen!?</a><br /><br /></span></td>
                    </tr>
                  </table>
                </td>
              </tr>
            </table>
          </td>
        </tr>
      </table>
      </form>

<!-- END switch_user_logged_out -->

    </td>
    <td style="vertical-align:top;">
Allerdings wird alles zwischen den Zeilen

Code: Alles auswählen

             <!-- BEGIN switch_user_logged_out -->
             <!-- END switch_user_logged_out -->
bzw. wenn ich eingeloggt bin:

Code: Alles auswählen

             <!-- BEGIN switch_user_logged_in -->
             <!-- END switch_user_logged_in -->
ignoriert. Wie sorge ich dafür, das beim includen diese Art Weisungen korrekt behandelt werden?

Bye/2
Zuletzt geändert von Dungeonwatcher am Do 26.Mai, 2005 11:44, insgesamt 2-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Diese "Switches" werden ja auch in der page_header.php definiert. Dabei must Du aber auch darauf achten, daß dieses vor dem Einbinden der menue.tpl geschieht, da ansonsten diese Switches dort nicht zur Verfügung stehen.
Also

Code: Alles auswählen

//
// Login box?
//
if ( !$userdata['session_logged_in'] )
{
	$template->assign_block_vars('switch_user_logged_out', array());
}
else
{
	$template->assign_block_vars('switch_user_logged_in', array());

	if ( !empty($userdata['user_popup_pm']) )
	{
		$template->assign_block_vars('switch_enable_pm_popup', array());
	}
}
muss vor Deinem Code

Code: Alles auswählen

$template->set_filenames(array(
   'menu' => 'menue.tpl')
);

$template->assign_var_from_handle('MENU', 'menu');
ommen, bzw. Dein Code danach angesiedelt sein.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

Moin! :cool:

Aaaaaah, danke, das sieht schon fast perfekt aus. :)

Wenn jetzt noch die Variablen ({U_INDEX}, {L_FAQ}, {L_SEARCH} etc.) in den Links beachtet werden würden, wäre es perfekt.

Code: Alles auswählen

<td class="row2"><span class="nav"><img src="templates/fiblack/images/icon_mini_faq.gif" width="12" height="13" border="0" alt="{L_FAQ}" hspace="3" /><a href="{U_FAQ}">&nbsp;{L_FAQ}</a></span></td>
Jetzt sind diese Menüpunkte nämlich leer.

Bye/2
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Was hast Du denn jetzt verschoben? Deinen Block oder den der "Login Box"?
Wenn die Variablen vorhanden sein sollen, musst Du Deinen Block und die "Login Box" vor "$template->assign_vars(array(" verschieben.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

[quote="oxpus - Fr 27.Mai, 2005 11:46";p="33321"]Was hast Du denn jetzt verschoben? Deinen Block oder den der "Login Box"?[/quote]

Den kplt. Block so wie er oben zu sehen ist, inkl. der Login Box.
Wenn die Variablen vorhanden sein sollen, musst Du Deinen Block und die "Login Box" vor "$template->assign_vars(array(" verschieben.
Es ist beides weit davor eingetragen.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Dann danach, um eben auch die Werte übergeben zu können, da diese ja jetzt nachträglich erstellt werden.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

[quote="oxpus - Fr 27.Mai, 2005 13:14";p="33355"]Dann danach, um eben auch die Werte übergeben zu können, da diese ja jetzt nachträglich erstellt werden.[/quote]

Suuper, das war's. :)

Fühle dich, für deine große Geduld mit mir, zu einem virtuellen Bier eingeladen. :bia:
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Danke. Schmeckt bei der Hitze recht gut *prost*
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten