Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
ausgabe von plugin...
#1
Also, ich nutze nun seit einiger zeit das Plugin
Inventory Shop © Ryan Ashbrook

klappt auch alles wunderbar, erste anpassungen waren auch nur eine bastellei (Bilder endlich eingebaut ^^)

nun wollte ich im Profil das Inventar ebenfalls auflisten lassen:

erweiterungen im Plugin:
PHP-Code:
function shop_userprofile()
{
 global 
$memprofile,$mybb$theme,$db$templates;
 
$uid=intval($mybb->input['uid']);
 
$user_dada $db->query("SELECT * FROM ".TABLE_PREFIX."shops ORDER BY sid ASC");
$html="<br/> <!--  Start Inventar  -->
<table border=\"0\" cellspacing=\"
{$theme['borderwidth']}\" cellpadding=\"{$theme['tablespace']}\" class=\"tborder\" width=\"100%\">
    <tr>
        <td class=\"thead\" colspan=\"2\"><strong>Inventar von: 
{$memprofile['username']}</strong></td></tr>";
 while(
$dada $db->fetch_array($user_dada))
 {
  
$shop_list $dada['shop'];
  
$shop_name $dada['shop_templatename'];
  
$shop_sid $dada['sid'];
  
$item_query $db->query("SELECT * FROM ".TABLE_PREFIX."users where uid='".$uid."'");
  while(
$dada2 $db->fetch_array($item_query))
   {
    
$haddewas $dada2[shop_list];
    
$html .= "<tr>
             <td class=\"trow1\">
              <a href=\"http://www.gedankenglut.de/shop.php?do=shop&sid="
.$sid."\" target=\"_self\">".$shop_name."</a>
             </td>
             <td class=\"trow\">
              "
.$haddewas."
             </td>
            </tr>"
;
   }
 }
 
$html.= "</table>
          <!--  Ende Inventar  -->"
;
 
$shop $html;
 return;

im thempelte von profil (member_profile) habe ich dann
{$shop}
eingefügt...

das die anfrage noch nicht 100% korrekt ist is soweit klar.
Das ist ohnehin eine rumgefriggellei, mein Problem ist die ausgabe...
Es wird im Profil nichts ausgegeben.
In den debug informationen wird angezeigt das die datenbank abfragen erfolgen und ein einfaches
echo $shop
spuckt das ganze ja auch (an der falschen stelle) aus.

wie schaffe ich nun das es richig ausgegeben wird?

*erst novizen status im plugin geschäft habe*


Jedem helfer ein Danke im vorraus. ^..^
rady: css dropdown menü
to do: sleep
Zitieren
#2
Wenn
PHP-Code:
echo $shop
den richtigen Code ausgibt, dann kann nicht sehr viel falsch sein. Das "return;" am Ende der Funktion ist auf jeden Fall überflüssig. Und statt "$shop = $html;" kannst du auch direkt $shop nehmen. Also:
PHP-Code:
function shop_userprofile()
{
 global 
$memprofile,$mybb$theme,$db$templates;
 
$uid=intval($mybb->input['uid']);
 
$user_dada $db->query("SELECT * FROM ".TABLE_PREFIX."shops ORDER BY sid ASC");
$shop="<br/> <!--  Start Inventar  -->
<table border=\"0\" cellspacing=\"
{$theme['borderwidth']}\" cellpadding=\"{$theme['tablespace']}\" class=\"tborder\" width=\"100%\">
    <tr>
        <td class=\"thead\" colspan=\"2\"><strong>Inventar von: 
{$memprofile['username']}</strong></td></tr>";
 while(
$dada $db->fetch_array($user_dada))
 {
  
$shop_list $dada['shop'];
  
$shop_name $dada['shop_templatename'];
  
$shop_sid $dada['sid'];
  
$item_query $db->query("SELECT * FROM ".TABLE_PREFIX."users where uid='".$uid."'");
  while(
$dada2 $db->fetch_array($item_query))
   {
    
$haddewas $dada2[shop_list];
    
$shop .= "<tr>
             <td class=\"trow1\">
              <a href=\"http://www.gedankenglut.de/shop.php?do=shop&sid="
.$sid."\" target=\"_self\">".$shop_name."</a>
             </td>
             <td class=\"trow\">
              "
.$haddewas."
             </td>
            </tr>"
;
   }
 }
 
$shop.= "</table>
          <!--  Ende Inventar  -->"
;

Ansonsten sieht der Code gut aus.
Vantage-Forum: http://vantage-forum.de/
Zitieren
#3
Das korrekte Ausgeben ist ja nichtmal das Problem (ich muss noch das auslesen aus der Spalte korrigieren) aber es gibt einfach nix aus. mit echo $shop wird oben im header das ganze ausgespuckt.
So fein so gut, aber mit dem {$shop} will er so garnix anfangen...

Den Code habe ich wie beschrieben geändert wobei dadurch leider auch keine Veränderung kam.
Habe ich irgent etwas grobes begangen was die ausgabe später blockiert?
rady: css dropdown menü
to do: sleep
Zitieren
#4
Den gleichen Fehler hab ich auch schonmal begangen... Big Grin

Anstatt
PHP-Code:
global $memprofile,$mybb$theme,$db$templates
PHP-Code:
global $memprofile,$mybb$theme,$db$templates$shop

Das nehmen.
Zitieren
#5
Danke, jackpot und klappt.

Im Nachhinein ja auch logisch das man zuvor eine globale Variabele deklarieren muss da sonst das ganze im lokalen Bereich bleibt.

Logisch, aber erst wenn man mitbekommt wo es liegt.

Danke ^..^

Nun nur noch das auslesen etwas korrigieren und viola.


So, habe es nun wie mir aufgetragen eingebaut und so sieht es aus:
[Bild: http://img178.imageshack.us/img178/4619/...vm4.th.png]
Wie ich es ahne soll ich demnägst eine Version mit Bildern machen was ich zum Glück schon in der Hinderhand habe. (Bilder sind ja eh schon intigriert, ist hier also nurnoch anzeigen hier.)
Mit Bild übrigens so: [Bild: http://img214.imageshack.us/img214/807/e...lo9.th.png]

Also danke für die Hilfe nochmals. ^..^
rady: css dropdown menü
to do: sleep
Zitieren