Seite 1 von 2

Tempalte asign_block_vars problem, bitte helfen!

Verfasst: 10.05.2004 20:24
von MC Breit
Hi!

Also, ich hab hier mein Template:

Code: Alles auswählen

<!-- BEGIN switch_cats -->
<table class="forumline" width="100%" cellspacing="1" cellpadding="3" border="0">
	<tr>
		<th class="thHead" height="25" valign="middle">{CATEGORYS}</th>
	</tr>
  <!-- BEGIN row_sub_cats -->
	<tr>
		<td class="row1" align="center">
     <a href="{row_sub_cats.U_CAT}">
      <img src="{row_sub_cats.CAT_ICON}" align="left" border="0" />
      {row_sub_cats.CAT_TITLE}<br />
     </a>
      {row_sub_cats.CAT_DESC}
    </td>
	</tr>
  <!-- END row_sub_cats -->
</table>
<!-- END switch_cats -->
Und hier der php-code:

Code: Alles auswählen

//The Categories
if( isset($cats) )
{
  $template->assign_block_vars('switch_cats', array());
  for($i=0; $i<count($cats); $i++)
  {
    $template->assign_block_vars('row_sub_cats', array(
      'U_CAT' => '?cat='.$cats[$i]['cat_id'],
      'CAT_TITLE' => $cats[$i]['cat_title'],
      'CAT_DESC' => $cats[$i]['cat_desc'],
      'CAT_ICON' => ( file_exists('images/cats/'.$cats[$i]['cat_icon']) ) ? 'images/cats/'.$cats[$i]['cat_icon'] : 'images/cats/sample.jpg',
    ));
  }
Aber irgendwie werden die einzelnen Ctas, also row_sub_cats nicht durchlaufen :-/
Wenn ich es mit echo mache, dann geht es, also spirch die variablen und die for scheleife sind korrekt, kommt irgendjemand darauf, warum es nicht geht?
Ich steh total auf dem schlauch :-/

Verfasst: 12.05.2004 06:16
von D@ve
hmmm also er gibt es nur einmal aus und durchläuft die Schleife nicht? Oder kommt eine Fehlermeldung?

Gruß, Dave

Verfasst: 12.05.2004 07:44
von PhilippK
So mal auf die Schnelle als Idee: schon mal mit

Code: Alles auswählen

'switch_cats.row_sub_cats'
probiert?

Gruß, Philipp

Verfasst: 17.05.2004 00:41
von MC Breit
D@ve: Er durchläuft die schleife im PHP 11x und im Template garnicht..

PhillippK: auch wenn es iegenldich so umständlicher ist, ich probeirs mal eben..

EDIT:

Also, habs probiert..
Jetzt sieht das TPL so aus:

Code: Alles auswählen

<!-- BEGIN switch_cats -->
<table class="forumline" width="100%" cellspacing="1" cellpadding="3" border="0">
	<tr>
		<th class="thHead" height="25" valign="middle">{CATEGORYS}</th>
	</tr>
  <!-- BEGIN switch_cats.row_sub_cats -->
	<tr>
		<td class="row1" align="center">
     <a href="{switch_cats.row_sub_cats.U_CAT}">
      <img src="{switch_cats.row_sub_cats.CAT_ICON}" align="left" border="0" />
      {switch_cats.row_sub_cats.CAT_TITLE}<br />
     </a>
      {switch_cats.row_sub_cats.CAT_DESC}
    </td>
	</tr>
  <!-- END switch_cats.row_sub_cats -->
</table>
<!-- END switch_cats -->
Der PHP-Code so:

Code: Alles auswählen

//The Categories
if( isset($cats) )
{
  $template->assign_block_vars('switch_cats', array());
  for($i=0; $i<count($cats); $i++)
  {  
    $template->assign_block_vars('switch_cats.row_sub_cats', array(
      'U_CAT' => '?cat='.$cats[$i]['cat_id'],
      'CAT_TITLE' => $cats[$i]['cat_title'],
      'CAT_DESC' => $cats[$i]['cat_desc'],
      'CAT_ICON' => ( file_exists('images/cats/'.$cats[$i]['cat_icon']) ) ? 'images/cats/'.$cats[$i]['cat_icon'] : 'images/cats/sample.jpg',
    ));
  }
}
Und die Fehlermeldung so:

Code: Alles auswählen

Parse error: parse error in /usr/local/httpd/htdocs/2103/2107/_usr/soccer-times/includes/template.php(127) : eval()'d code on line 13
Und nun?

Verfasst: 17.05.2004 10:39
von D@ve
Markier mal die Zeile 13

Verfasst: 17.05.2004 22:14
von MC Breit
Zeile 13 im TPL hat nun ein X davor..

Code: Alles auswählen

<!-- BEGIN switch_cats -->
<table class="forumline" width="100%" cellspacing="1" cellpadding="3" border="0">
	<tr>
		<th class="thHead" height="25" valign="middle">{CATEGORYS}</th>
	</tr>
  <!-- BEGIN switch_cats.row_sub_cats -->
	<tr>
X		<td class="row1" align="center">
     <a href="{switch_cats.row_sub_cats.U_CAT}">
      <img src="{switch_cats.row_sub_cats.CAT_ICON}" align="left" border="0" />
      {switch_cats.row_sub_cats.CAT_TITLE}<br />
     </a>
      {switch_cats.row_sub_cats.CAT_DESC}
    </td>
	</tr>
  <!-- END switch_cats.row_sub_cats -->
</table>
<!-- END switch_cats -->
Hoffe du meintest das ;)
Weil in allen anderen codes ist zeile 13 n Kommentar ;)

Verfasst: 17.05.2004 22:24
von PhilippK
Mach mal aus

Code: Alles auswählen

  <!-- BEGIN switch_cats.row_sub_cats -->

Code: Alles auswählen

  <!-- BEGIN row_sub_cats -->
Gleiches für den Endteil.

Gruß, Philipp

Verfasst: 18.05.2004 15:13
von MC Breit
Ai, okee, klappt..

Danke!

Verfasst: 20.05.2004 15:18
von MC Breit
*hr*
Schon wieder..
Aber diesmal nichts mit dem wie davor zu tun :-(

Hier sie fehlermeldung:

Code: Alles auswählen

Parse error: parse error in /usr/local/httpd/htdocs/2103/2107/_usr/soccer-times/includes/template.php(127) : eval()'d code on line 72
Und hier das Template (Zeile 72 hat ein X davor)..

Code: Alles auswählen

<!-- BEGIN switch_table_datas -->
<table class="forumline" width="100%" cellspacing="1" cellpadding="3" border="0">
	<tr>
		<th class="thHead" height="25" valign="middle">{TABLE}</th>
	</tr>
  <tr>
   <td>{TABLE_RANK}</td>
   <td>{SOCCER_CLUB}</td>
   <td>{GAMES}</td>
   <td>{WINS}</td>
   <td>{LOOSES}</td>
X   <td>{UNDECIDED}</td>
   <td>{GOALS}</td>
   <td>{GOALS_DIFFERENCE}</td>
   <td>{POINTS}</td>
  </tr>
  <!-- BEGIN row_table_datas -->
  <tr>
   <td>{switch_table_datas.row_table_datas.RANK}</td>
   <td><a href="{switch_table_datas.row_table_datas.U_TEAM}">{switch_table_datas.row_table_datas.TEAM_TITLE}</a></td>
   <td>{switch_table_datas.row_table_datas.GAMES}</td>
   <td>{switch_table_datas.row_table_datas.WINS}</td>
   <td>{switch_table_datas.row_table_datas.LOOSES}</td>
   <td>{switch_table_datas.row_table_datas.UNDECIDED}</td>
   <td>{switch_table_datas.row_table_datas.GOALS}</td>
   <td>{switch_table_datas.row_table_datas.DIFFERENCE}</td>
   <td>{switch_table_datas.row_table_datas.POINTS}</td>
  </tr>   
  <!-- END row_table_datas -->
</table>
<!-- END switch_table_datas -->
Is ja diesmal irgendwie ne ganz normale assign_var wo er scheitert..
Da jemand ne idee woran es schon wieder liegen könnte?

Verfasst: 20.05.2004 15:44
von timo111
die fehlermeldung zeigt einen fehler in der template.php und nicht in deinem tamplate-file