MyXoops Forum

Re: Wie definiert man in einem Blockaufruf eine Variable...? [sonstige Module] - myXOOPS German Support

migoe

"myXOOPs"-Könner
Gepostet am:13.10.2003 23:43
migoe
migoe Offline (Show more)
"myXOOPs"-Könner
Posts: 527
Since: 02.11.2002
#5

Re: Wie definiert man in einem Blockaufruf eine Variable...?

Hallo Derya,

wäre ich jetzt Homer Simpson, würde ich jetzt ein hochgequietschtes "NEIIIIN" raushusten und mir den Kopf am Bildschirm weichklopfen. Jetzt hast Du es wirklich sehr gut angegeben, und mir Elch fällt nicht auf, daß da die Leerzeichen nicht richtig gesetzt sind...

Jetzt, wo Du es noch mal langsam erklärt hast, funktioniert es einwandfrei und ich werde diese Methode auch an einem anderen Block versuchen

migoe
Wenn Du denkst Du denkst, dann denkst Du nur, Du denkst
--- www.liedermacher-forum.de ---...

Derya

"myXOOPs"-Fortgeschrittener
Gepostet am:13.10.2003 23:23
Derya
Derya Offline (Show more)
"myXOOPs"-Fortgeschrittener
Posts: 195
Since: 16.05.2003
#4

Re: Wie definiert man in einem Blockaufruf eine Variable...?

Wie hast du es den gemacht?
Nimm die unveränderte Datei(also ohne Deine Änderungen) und ersetzte die mysql Abfrage mit der in meinem vorherigen Posting(gehört alles in eine Zeile mit Leerzeichen zwischen den Zeilen) u. dann noch die Varibale hinzufügen...müsste dann eigentlich gehen...aber kann es ja mal schnell probieren...

Edit: Habs gerade Probiert u. läuft einwandfrei ...wie gesagt vergiss nicht die Leerzeichen werden bei coyps&paste verschlugt (zwichen FROM u. " sowie zwischen AND u. d.lid)
Vergiss später auch nciht die description Variable im template einzusetzten.

Den Fehler hättest du jedoch auch im mysql/Block modus selberfinden können.

Advertisement

Gepostet am:0
Advertisement (Show more)
Posts: 0
Since: 0


Hier könnten Sie Ihre Anzeige aufgeben!
Bitte kontaktieren Sie uns, um mehr darüber zu erfahren.

migoe

"myXOOPs"-Könner
Gepostet am:13.10.2003 23:16
migoe
migoe Offline (Show more)
"myXOOPs"-Könner
Posts: 527
Since: 02.11.2002
#3

Re: Wie definiert man in einem Blockaufruf eine Variable...?

Hallo Derya,

vielen Dank für die Antwort. Leider klappt es so auch nicht - der Block wird nicht angezeigt, der Bug-Modus gibt aber auch keine brauchbare Lösung her

migoe
Wenn Du denkst Du denkst, dann denkst Du nur, Du denkst
--- www.liedermacher-forum.de ---...

Derya

"myXOOPs"-Fortgeschrittener
Gepostet am:12.10.2003 23:32
Derya
Derya Offline (Show more)
"myXOOPs"-Fortgeschrittener
Posts: 195
Since: 16.05.2003
#2

Re: Wie definiert man in einem Blockaufruf eine Variable...?

Vorab du hast in deinem Code einige Fehler drin.
Vielleicht solltest Du Dich vorher ein bissche mit php beschäftigen...
Hier mal Deine Fehler:
1. du hast zweimal "return" drin, nder Code nach dem ersten "return" wird aber nicht mehr ausgeführt.
2. In der Zeile mit "list" hast du { drin sowie später noch einen Abschluss }, das ist da jedoch total fehl am Platz...denke mal das du ne Schleife mit "while" machen wolltest, aber sie fehlt gänzlich.
3. In Deiner mysql-Abfrage fragst du zwar nach der "description" jedoch ohne Kriterium, d.h. die descriptins, die du bekommst, sind anderst sortiert als die erste mysql-Abfrage u. steht in keinerlei Verbindung dazu.
4. Die Variable jukebox wird nicht an die templates verschickt, da sie nicht der return-Variable(hier block) zugewiesen wurde. Möglichkeit wäre $block['jukebox']=... jedoch noch vor dem ersten return

Mein Tipp: Ändere die erste mysql-Abfrage um (du kannst zwei Tabellen miteinander verknüpfen)
$result $xoopsDB->query("SELECT d.lid, d.cid, d.title, d.date, d.hits, t.description FROM ".$xoopsDB->prefix("mydownloads_downloads")." as d,  ".$xoopsDB->prefix("mydownloads_text")." as t WHERE d.status>0 AND d.lid=t.lid ORDER BY d.".$options[0]." DESC"$options[1],0);


so jetzt benötigst Du noch:
$download['description'] = $myrow['description'];

bei den $download[...] Variablenzuordnung hinzuzugügen

Wird dann wie die anderen Downloadvariablen im template Aufgerufen.

gruss
derya

migoe

"myXOOPs"-Könner
Gepostet am:12.10.2003 19:52
migoe
migoe Offline (Show more)
"myXOOPs"-Könner
Posts: 527
Since: 02.11.2002
#1

Wie definiert man in einem Blockaufruf eine Variable...?

Halle Leute,

oh Mann, ich bin mir nicht sicher, ob ich das verständlich rüberbringe, aber einen Versuch ist es ja wert

Ich bin im Moment dabei den Block "Recent new Downloads" so zu ändern, daß nicht nur der Titel angezeigt wird, sondern darunter auch noch der angegebene Text zum Download. Wie ich die Anzeige-Geschichten in den Templates ändern muß weiß ich, doch dazu muß ich in der Datei mydownloads_top.php doch eine neue Variable dafinieren, oder? Also mein Versuch - der, ich sags schon vorneweg, gescheitert ist - sieht so aus:

function b_mydownloads_top_show($options) {
  global 
$xoopsDB;
  
$block = array();
 
$myts =& MyTextSanitizer::getInstance();
  
//$order = date for most recent reviews
 //$order = hits for most popular reviews
  
$result $xoopsDB->query("SELECT lid, cid, title, date, hits FROM ".$xoopsDB->prefix("mydownloads_downloads")." WHERE status>0 ORDER BY ".$options[0]." DESC",$options[1],0);

    while(
$myrow=$xoopsDB->fetchArray($result)){
    
$download = array();
    
$title $myts->makeTboxData4Show($myrow["title"]);
   if ( !
XOOPS_USE_MULTIBYTES ) {
      if (
strlen($myrow['title']) >= $options[2]) {
       
$title $myts->makeTboxData4Show(substr($myrow['title'],0,($options[2] -1)))."...";
      }
   }
   
$download['id'] = $myrow['lid'];
    
$download['cid'] = $myrow['cid'];
   
$download['title'] = $title;
    if(
$options[0] == "date"){
      
$download['date'] = formatTimestamp($myrow['date'],"s");
    }elseif(
$options[0] == "hits"){
     
$download['hits'] = $myrow['hits'];
   }
   
$block['downloads'][] = $download;
  }
 return 
$block;

  [
b]$result $xoopsDB->query("SELECT description FROM ".$xoopsDB->prefix("mydownloads_text");
    list(
$description) = $xoopsDB->fetchRow($result){
    
$jukebox['description'] = $myrow['description'];
    }
    return 
$block;
}[/
b]

Wichtig ist der fettgedruckte Code. Die Variable soll dann $jukebox heißen und wird in den Templates mit <{$jukebox.description}>aufgerufen...

Bin ich wenigstens ansatzweise richtig, oder mach ich noch nicht mal den Anfang so, daß es irgendwohin führen könnte? Für mich ist es wichtig, das im Prinzip zu begreifen, wie ich in einer Datei die Abfrage für zwei unterschiedliche Tabellen richtig angehe, weil ich noch andere Blöcke von anderen Modules ähnlich angehen will (z.B. Anzeige des Titels im Zufallsblock der Galerie usw.)

Hoffe, mir kann jemand helfen...

migoe
Wenn Du denkst Du denkst, dann denkst Du nur, Du denkst
--- www.liedermacher-forum.de ---...
Diesen Thread durchsuchen:  1 Anonyme Benutzer

Aktuell aus dem Forum

Forum Thema Antworten Views Letzter Beitrag
OffOffTopic [Wichtig] Übernahme myXOOPS 0 494 11.12.2023 18:57
alfred Gehe zum letzten Beitrag
Die Installation und Administration von XOOPS 2.5.X [Offen] Upgrade 2.5.11 3 2207 07.05.2023 07:03
Goffy Gehe zum letzten Beitrag