Theme: $sid abfragen!

Begonnen von BowlingX, 21 Februar 2003, 18:58:16

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

BowlingX

Hi@all,
ich bin gerade dabei eine neue Funktion in das VKP einzubauen. Sie nennt sich "Clippings" (ist eine art interne Artikel Favoriten Funktion; zu sehen bei: http://web1.berlin119.server4free.de/VKP)

Nun will ich im Theme den Wert der Variable $sid abfragen (also die Story ID!) Allerdings weis ich jetzt nicht genau, wie ich das machen soll...

Muss ich die Funktion Themeindex (welche ich für die Clippings missbrauche) um den Paramteter $sid erweitern?

Bitte um Hilfe!

[Editiert am 21/2/2003 von BowlingX]
Kein Support über Mail, (ungefragter) PN oder ICQ, ausschließlich direkt im Forum!

Micro

So, hab ne Lösung für das Problem gefunden.
An sich recht einfach.

Am besten Du testest das zu Hause auf dem Localhost mal in einem Thema aus, in der Funktion themeindex

 

$test = str_replace("(<a href=\"modules.php?name=News&file=article&sid=","",$morelink);
$a = 0;
for($i=1;$i<=10;$i++){
$verg = substr($test,$i,1);
$a++;
if($verg == "&"){
$schnuff = substr($test,($i-$a),$a);
break;
}
}
echo "hupf - $schnuff";



   $test = str_replace("(<a href=\"modules.php?name=News&file=article&sid=","",$morelink);
   $a = 0;
   for($i=1;$i<=10;$i++){
      $verg = substr($test,$i,1);
      $a++;
      if($verg == "&"){
         $schnuff = substr($test,($i-$a),$a);
      break;
      }
   }
   echo "hupf - $schnuff";



HA, der letzte Quelltext ist besser.

$schnuff besitzt in dem Fall die eigentliche $sid ;o)


Und noch was, falls es bei Dir Probleme gibt, htmlspecialchars($morelink); zeigt in dem Fall den Inhalt der Variablen an und parst den nicht als HTML Text. Da kannst Du dann den ersten Part bis zur ersten ID rauslöschen.



[Editiert am 23/2/2003 von SiteAdmin Micro]

Micro

Genau das ist das Problem.
Diese Storry ID ist nicht einzeln verfügbar. Man kann sich drehen und wenden wie man will, OHNE Änderungen am ganzen PHPNuke ist da nix zu machen.

Das betrifft die mainfile.php sowie die Artikels.php und news.php (vermutlich noch einige andere Dateien)

Das einzige was man machen könnte, aber fehleranfällig ist, die Variable $morelink auseinanderpflücken. Denn dort steht an der einzigen Stelle diese ID drinne.

BowlingX

Oh jot Oh jot! Was hat FB sich dabei nur geadacht! :D
Dann muss ich mir das irgendwie zusammenbasteln.

Man könnte ja die Stellen zählen ($morelink) und dann die ID auslesen *gg*
Kein Support über Mail, (ungefragter) PN oder ICQ, ausschließlich direkt im Forum!

Micro

ZitatMan könnte ja die Stellen zählen ($morelink) und dann die ID auslesen *gg*
Wird nicht gehen, denn ein gelöschter Artikel wird als ID nicht wieder neu vergeben ;o)

Das einzige was man machen könnte, die Storry-ID's als eigene Abfrage definieren und die entsprechenden Informationen dazu in ein Array zu schreiben. Schon haste das was man wirklich benötigt.

BowlingX

Ich hab gesehen, das die StoryID in der Mainfile ausgelesen wird!
Kann man die nicht einfach an die Theme weiterleiten bzw. übergeben,

und muss das dann durch ein Array geschehen, wo alle IDs gespeichert sind (wird ja nach der Zeit ne sehr lange liste *gg*)
Kein Support über Mail, (ungefragter) PN oder ICQ, ausschließlich direkt im Forum!

Micro

Ohne Änderungen in den Funktionen wird's nicht gehen.
Nein, die Variable $morelink wird schon in der index.php des News-Moduls gebaut. Die mainfile hat damit erst mal nix zu tun.

Problem an der ganzen Sache ist, wenn Du diese Funktion "theindex" entsprechend änderst, funktioniert am Ende kein anderes Thema mehr. MIt anderen Worten, besser ist's wenn man diese Abfrage ins Thema selbst bastelt.
Im Pragama ist das schon verwirklicht. Dort kann man am Ende den Wert benutzen den man benötigt. Zusammengesetzt wird da erst innerhalb des Themas der ganze Content.

BowlingX

Das klingt schonmal nicht schlecht!
Also ich hab mir folgendes überlegt:
Ich hab ja den Namen des Artikels!

So! Dann kann ich mir ja eine Datenbank abfrage basteln und per "Name" die Story ID auslesen lassen...lieg ich da richtig? *gg*

Oder passiert das andersrum...
Kein Support über Mail, (ungefragter) PN oder ICQ, ausschließlich direkt im Forum!

Micro

Gegenfrage:

Was machst Du bei Namensgleichheit des Artikels?!
Mit Sicherheit in die Flasche guggen oder so ;o)
Prinzipiell würde es aber gehen, ist nur alles andere als sicher.

Nimm doch die Variable $morelink auseinander. Das dürfte eher zu einem Ergebnis führen.

BowlingX

hm...Die Variable $morelink enthält allerdings ziemlich viel oder?
Die Beiden Symbole mit den links usw..

Ich müsste also die den HTML Code "zählen" und an der Stelle wo die Story ID steht eine neue Variable schreiben...hab ich das so richtig verstanden?
Kein Support über Mail, (ungefragter) PN oder ICQ, ausschließlich direkt im Forum!

Micro

Ich hab jetzt den Inhalt der Variablen nicht im Kopf.
Auf jeden Fall aber kannst Du das Ding so auseinanderpflücken, das Du am Ende die Story ID hast.

Müsst ich mal guggen was da alles drinne is .......... Dauert nen Moment ;o))

BowlingX

Super! Danke Micro...Ich werde das jetzt gleich mal testen und mein erfolgserlebnis aufschreiben...wenn ich den schiss mit den Clippings feddich hab werd ich ein entsprechendes Tuturial veröffentlichen!
Kein Support über Mail, (ungefragter) PN oder ICQ, ausschließlich direkt im Forum!

BowlingX

Hm...klappt leider nicht!
$schnuff ist immer ""!

Also Nix!

[Editiert am 23/2/2003 von BowlingX]
Kein Support über Mail, (ungefragter) PN oder ICQ, ausschließlich direkt im Forum!

Micro

na scho ein Elend .. *schnüff* ;o) (hab die Zähne im Glas liegen .. *grins*)

Hast Du schon mal nachgesehen was $morelink für Werte zum Anfang besitzt?
Ich hab das hier in einem Thema getestet, das $morelink schon bearbeitet und verändert hat. Da fehlen FONT-TAG's aus dem System.

BowlingX

Die Variable sieht so aus:
 (<a href="modules.php?name=News&file=article&sid=4&mode=thread&order=0&thold=0">Kommentare?</a> | <a href="modules.php?name=News&file=print&sid=4"><img src="images/print.gif" border="0" Alt="Druckbare Version" width="16" height="11"></a>  <a href="modules.php?name=News&file=friend&op=FriendSend&sid=4"><img src="images/friend.gif" border="0" Alt="Diesen Artikel an einen Freund senden" width="16" height="11"></a> | Punkte: 0)

Also stimmt es mit deinem Code überein!


[Editiert am 23/2/2003 von BowlingX]
Kein Support über Mail, (ungefragter) PN oder ICQ, ausschließlich direkt im Forum!

Micro

Hmmm..... das ist dann allerdings seltsam.
Ich geh erst mal vor die Tür Rauchwaren abholen und nachdenken.

Dat muss doch zu lösen sein das Thema .......

BowlingX

Jut! Mach das...ich hol mir auch mal kurz was zu futtern *gg*
Kein Support über Mail, (ungefragter) PN oder ICQ, ausschließlich direkt im Forum!

Micro

Problem "vorerst" gefunden.
Kann nicht funktionieren da zu alte PHP-Version. Die kennt zwar str_replace, behandelt den Übergebenen String falsch.

Es gibt etwas "neues" ....