variablenzugriff ändern

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
sph
Mitglied
Beiträge: 75
Registriert: 02.05.2006 19:34

variablenzugriff ändern

Beitrag von sph »

hallo!

ich wende mich mit einem anliegen an euch, das zwar konkret ein phpBB2-board betrifft, jedoch ist das problem eher allgemeiner natur und ich hoffe hier tips, anregungen oder natürlich lösungen zu erhalten.


beim anpassen des boards bin ich auf eine hürde gestoßen die ich, php-laie, nicht lösen kann:
ich möchte variablen in anderen teilen des boards verwenden als ursprünglich vorgesehen.


das heißt: die variablen

{NEWEST_USER}
{LOGGED_IN_USER_LIST}
{TOTAL_USERS_ONLINE}
{TOTAL_POSTS}

werden üblicherweise im index ausgegeben, ich habe jedoch vor sie im 'overall_header.tpl' zu verwenden. desweiteren wurde der "Top Topics on Index Mod (1.1.0)" installiert, und die im 'page_header.php' neu definierte variable

{topicrecentpopular.TOPICSRECENT}

sollte auch im header abrufbar sein.

da mir dort bei der verwendung der variablen nicht die gewünschten daten angezeigt werden gehe ich davon aus dass man den zugriff darauf erst konfigurieren muss.

>> was muss ich ändern um mein vorhaben zu realisieren? wer kann mir sagen was ich wo ändern/einfügen muss?

>> warum ist der variablenzugriff eigentlich eingeschränkt? kann mir jemand erklären warum man nicht von vornherein in jedem bereich des forums auf jede verfügbare variable zugreifen kann? welchen nutzen oder sinn hat das?



ich würde mich über klärende, hilfreiche antworten sehr freuen,
danke fürs lesen und nice days!




---
edit: ich hoffe ich werde nicht mißverstanden wenn ich hier zu phpBB2.de verlinke - dort habe ich ebenfalls um hilfe gebeten, vielleicht möchte der ein oder andere das ja lesen:

http://www.phpbb2.de/ftopic42225.html
island of stupid - come to where the monkey is...
sph
Mitglied
Beiträge: 75
Registriert: 02.05.2006 19:34

so far so good...

Beitrag von sph »

*push*

ja, also auch wenns scheinbar niemanden interessiert hab ich nach bestem wissen versucht mein 'problem' zu lösen.

stand der dinge:


{topicrecentpopular.TOPICSRECENT} - erledigt.
hab den mod statt im index direkt im page_header eingebaut, funktioniert bestens.


{TOTAL_USERS} und {NEWEST_USER} - erledigt.
total_users hab ich vergessen zu erwähnen, möchte ich auch im header benutzen. deswegen wandert das hier:

Code: Alles auswählen

$total_users = get_db_stat('usercount');
if( $total_users == 0 )
{
	$l_total_user_s = $lang['Registered_users_zero_total'];
}
else
{
	$l_total_user_s = $lang['Registered_users_total'];
}

$newest_userdata = get_db_stat('newestuser');
$newest_user = $newest_userdata['username'];
$newest_uid = $newest_userdata['user_id'];
vom index in den page_header. wenn man dann noch

Code: Alles auswählen

'TOTAL_USERS' => sprintf($l_total_user_s, $total_users),
'NEWEST_USER' => sprintf($lang['Newest_user'], '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$newest_uid") . '">', $newest_user, '</a>')
bei "$template -> assign_vars..." mit angibt funktioniert das sogar...





bleiben noch 3 variablen.

> {LOGGED_IN_USER_LIST} bzw. {TOTAL_USERS_ONLINE}
ratlos. die definition der variable steht im page_header. sollte wohl auch irgendwie global funktionieren, tut es aber nicht. beim index und bei der ansicht eines forums werden die eingeloggten user korrekt angezeigt, in allen anderen bereichen des forums jedoch nichtmehr - was natürlich schlecht ist. hab ich da durch bisherige basteleien was vermurkst? verträgt sich da was nicht?


> {TOTAL_POSTS}
ja. aus dem index hab ich das hier

Code: Alles auswählen

$total_posts = get_db_stat('postcount');
if( $total_posts == 0 )
{
	$l_total_post_s = $lang['Posted_articles_zero_total'];
}
else
{
	$l_total_post_s = $lang['Posted_articles_total'];
}
in den page_header geholt und

Code: Alles auswählen

'TOTAL_POSTS' => sprintf($l_total_post_s, $total_posts),
bei "$template -> assign_vars..." angegeben. zwar funktioniert jetzt die anzeige der beiträge insgesamt im header so wie ich will, allerdings taucht beim lesen eines topics ein anderes gravierendes problem auf:

unter den bisher geschriebenen beiträgen werden eine ganze menge leere beiträge angefügt :x
und zwar genau so viele dass die anzahl der beiträge eines topics mit der anzahl der beiträge insgesamt übereinstimmt :shock:

ich hab da auch so ne vermutung, ich glaube dass meine änderungen einen konflikt in der "viewtopic.php" erzeugen, dort heißt es ab zeile 827 (ff.):

Code: Alles auswählen

//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
//
for($i = 0; $i < $total_posts; $i++)
ich bin ratlos und überfordert. ich hatte erwartet dass diese umbasteleien problemlos und vor allem sehr einfach zu bewerkstelligen wären...


help?! ideas?


danke fürs lesen,

mfg
island of stupid - come to where the monkey is...
Benutzeravatar
Akschel
Mitglied
Beiträge: 43
Registriert: 14.12.2006 17:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von Akschel »

bei mir steht in der index.php (bei mir Zeile 367)

Code: Alles auswählen

$template->assign_vars(array(
		'TOTAL_POSTS' => sprintf($l_total_post_s, $total_posts),
		'TOTAL_USERS' => sprintf($l_total_user_s, $total_users),
Tipp deine Variablen einfach wie folgt in die nächste Zeile ein: (Das ist eine Beispielvariable von mir)

Code: Alles auswählen

'ZUFALLZITAT' => $zufallzitat,
So ist es mir gelungen die Variable $zufallzitat als {ZUFALLZITAT} in einer der Template-Dateien anzeigen zu lassen.

Probier das mal aus und gib dein Feedback obs geklappt hat :)
sph
Mitglied
Beiträge: 75
Registriert: 02.05.2006 19:34

Beitrag von sph »

Akschel hat geschrieben:bei mir steht in der index.php ...
ja... nein - andersrum :)

alle genannten variablen stammen ursprünglich aus der index.php. mein wunsch wäre es allerdings diese variablen in den header-dateien ausgeben zu lassen, weshalb ich sie irgendwie bei ../includes/page_header.php mit einbeziehen muss.

und da reichts leider nicht einfach nur die entsprechenden variablen bei "$template->assign_vars..." mit anzugeben, da müssen definitionen, funktionen usw. auch mit verschoben werden... :\

aber vielen dank für deine unterstützung! :)


greets, schönes wochenende
island of stupid - come to where the monkey is...
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“