Seite 1 von 2

Intro + Portal MOD - V1.50a Links deaktivieren

Verfasst: 15.08.2005 13:47
von asomy
hi. ich habe mir den Intro + Portal MOD - Version 1.50a installiert und alles läuft super. 8)

jetzt würd ich gerne an dem code was ändern, wäre aber als php newbee für hilfe sehr dankbar.

ich möchte gern beim deaktivieren des portals, bzw des intros auch die links deaktivieren. also, dass automatisch beim deaktivieren über dem ACP auch die links deaktiviert werden.

wie müsste ich was dafür ändern? sind auch änderungen in der datenbank notwendig?

danke für eure hilfe im schonmal voraus. :wink:

Verfasst: 15.08.2005 14:31
von kratzer54847
also ein Tutorial/einen MOD dafür gibt es meines Wissens nicht, es ist jedoch einfach zu bewerkstelligen. An der Datenbank sind keine Änderungen notwendig, da die entsprechenden Einträge zum Deaktivieren des Portals ja bereits bestehen.

Verfasst: 15.08.2005 15:34
von asomy
ja, danke erstmal für den tip.

also ich denke, dass man den code in der overall.header.tpl ändern muss.

Code: Alles auswählen

<td height="25" align="center" valign="top" nowrap="nowrap"><span class="mainmenu"><b>&nbsp;
<a href="{U_IntroPortalMOD1}">{L_IntroPortalMOD1}</a>&nbsp;   &nbsp;
<a href="{U_IntroPortalMOD2}">{L_IntroPortalMOD2}</a>&nbsp;   &nbsp;
<a href="{U_IntroPortalMOD3}">{L_IntroPortalMOD3}</a>&nbsp;</b></span></td>
ich würde jetzt versuchen in den html code ein php-script mit einer if-abfrage einzufügen. leider weiß ich net, wie und wo die abfrage aus der daba funktioniert bzw stattfindet, ob das portal/intro deaktiviert ist oder nicht.

wenn jemand einen kostenlosen tip hat, wäre das echt super. :wink:

Verfasst: 15.08.2005 15:53
von kratzer54847
hmm...mal sehen

füg diesen Code in die page_header.php ein, und zwar vor $template->assign_vars

Code: Alles auswählen

$sql = "SELECT portal_disable, intro_disable
FROM " . INTROPORTALMOD_TABLE . "";

$result = $db->sql_query($sql);

while( $row = $db->sql_fetchrow($result) )
{
    $portal_disable = $row['portal_disable'];
    $intro_disable = $row['intro_disable'];

    if ( $portal_disable == '0' )
    {
            $template->assign_block_vars('switch_portal', array());
    }
    if ( $intro_disable == '0' )
    {
            $template->assign_block_vars('switch_intro', array());
    }
}
jetzt öffnest du die overall_header.tpl und ersetzt:

Code: Alles auswählen

<!-- Intro + Portal MOD START -->
<!-- BEGIN switch_introportalmod_disable -->
<tr>
<td height="25" align="center" valign="top" nowrap="nowrap"><span class="mainmenu"><b>&nbsp;<a href="{U_IntroPortalMOD1}">{L_IntroPortalMOD1}</a>&nbsp;   &nbsp;<a href="{U_IntroPortalMOD2}">{L_IntroPortalMOD2}</a>&nbsp;   &nbsp;<a href="{U_IntroPortalMOD3}">{L_IntroPortalMOD3}</a>&nbsp;</b></span></td>
</tr>
<!-- END switch_introportalmod_disable -->
<!-- Intro + Portal MOD END -->
mit

Code: Alles auswählen

<tr>
<td height="25" align="center" valign="top" nowrap="nowrap"><span class="mainmenu">
<!-- BEGIN switch_intro -->
<b>&nbsp;<a href="{U_IntroPortalMOD1}">{L_IntroPortalMOD1}</a>&nbsp;   &nbsp;
<!-- END switch_intro -->
<!-- BEGIN switch_portal -->
<a href="{U_IntroPortalMOD2}">{L_IntroPortalMOD2}</a>&nbsp;   &nbsp;
<!-- END switch_portal -->
<a href="{U_IntroPortalMOD3}">{L_IntroPortalMOD3}</a>&nbsp;</b></span></td>
</tr>

<!-- Intro + Portal MOD END -->
Achtung: ich habe den Code nicht getestet, da ich den MOD selbst nicht benutze. Der Code ist nur aus der Analyse des Datenbankaufbaus des Portalmods entstanden. Sichere also vorher deine Dateien.

Verfasst: 15.08.2005 21:24
von asomy
hi, erstmal danke für den code.
hab ihn gleich mal ausprobiert, aber leider zeigt er jetzt nur noch den index an, egal ob portal oder intro an bzw aus sind.

leider verstehe ich zu wenig von switch und arrays, dass ich wüsste, was man da ändern könnte bzw müsste.

Verfasst: 15.08.2005 22:01
von asomy
habe gleich noch eine frage.

nach einiger suche hab ich rausgefunden, dass die intro.php gar nicht über index.php sondern über .htaccess aufgerufen wird (vllt etwas naiv von mir :oops:).
könnte man dort zb noch eine start.php (oä) vorsetzten, damit bei abgeschaltetem intro und/oder portal gleich bei aufruf der haupt-url die richtige seite geöffnet wird?
wäre das auch eine lösung mit switch und arrays?

Verfasst: 16.08.2005 23:53
von asomy
kann mir irgendjemand ein wenig hilfe geben?
irgendwie scheint mir der code von johny logisch zu sein, aber ich habe sicherlich nicht den großen durchblick. dafür ist mir das ganze wohl zu groß. :(
ich habe nun schon einiges ausprobiert, aber ich glaube die if-abfragen in der page_header.php scheinen net zu funktionieren. oder woran könnte es liegen?

let's do it together

Verfasst: 18.08.2005 09:37
von asomy
kommt schon, laßt uns das problem gemeinsam lösen :D

kann es sein, dass die variablen evtl nicht richtig übergeben werden?

Verfasst: 18.08.2005 14:56
von asomy
ich habe folgendes in der common.php gefunden:

Code: Alles auswählen

// Intro + Portal MOD START
$sql = "SELECT * FROM " . INTROPORTALMOD_TABLE;
if( ($result = $db->sql_query($sql)) )
while ( $row = $db->sql_fetchrow($result) )
{
	$introportalmod_config[$row['config_name']] = $row['config_value'];
}
// Intro + Portal MOD END
muß dann diese datenbank-abfrage nochmals in der page_header.php erfolgen?

Verfasst: 18.08.2005 17:36
von kratzer54847
versuch einfach mal zum Debuggen nach

Code: Alles auswählen

$portal_disable = $row['portal_disable']; 
$intro_disable = $row['intro_disable']; 
folgendes einzufügen:

Code: Alles auswählen

echo "Portal_Disable ist:" . $portal_disable;
echo "<br />"
echo "Intro_Disable ist:" . $intro_disable;
um zu schauen, ob $intro_disable und $portal_disable korrekt gesetzt sind