картинка за категория

the_end

Registered
здравейте ... от около час се мъча да си изведа картинка на всяка отделна категория само че нещо не ми се получава ... със

Код:
<{* {if(($categorie.id)=="c1"|| $categorie.id)=="c2" ))} 0}>
{           
 <img src="<{$theme_dir}>/images/categories/<{$categorie.id}>.png" width="32" height="32" alt="<{$categorie.name}>" title="<{$categorie.name}>" align="absmiddle" />
}
  <{else}> 
{
  <img src="<{$theme_dir}>/images/post_comm_a.gif" width="22" height="22" alt="<{$categorie.name}>" title="<{$categorie.name}>" />

}
                 <{/if} *}>
би трябвало да си взима картинка според ид-то от папката а ако няма картинка със съответното ид да ми показва стандартната картинка ... е да ама не ми показва нито на категорията нито тази по подразбиране


ето го и целият фаил

Код:
<{if isset($categories) }><br />
<table border="0" cellspacing="0" cellpadding="0" width="95%" style="border: 1px dotted #c2c2c2;">
<tr height="6"></tr>
<tr>
<td width="6"></td>
<td>
<div id="dir" style="text-align: left;">
		<div>
			<table border="0" cellspacing="0" cellpadding="0" width="100%" align="center">
			<{assign var="compteur" value=0 }>
			<{foreach item=categorie from=$categories}>
			<{ assign var="compteur" value=$compteur+1 }>
			<{ if ($compteur%2) == 1 }><tr><{/if}>
			
					<td valign="top" class="catwdc">
<{* {if(($categorie.id)=="c1"|| $categorie.id)=="c2" ))} 0}>
{           
 <img src="<{$theme_dir}>/images/categories/<{$categorie.id}>.png" width="32" height="32" alt="<{$categorie.name}>" title="<{$categorie.name}>" align="absmiddle" />
}
  <{else}> 
{
  <img src="<{$theme_dir}>/images/post_comm_a.gif" width="22" height="22" alt="<{$categorie.name}>" title="<{$categorie.name}>" />

}
                 <{/if} *}>
 <a href="<{$categorie.url}>" class="catwdc"  title="<{$categorie.name}>"><{$categorie.name}></a>
   (<{$categorie.nbsites}>) 
<{* <{if $categorie.subcategories|@count > 0}>
                    <br />
                        <{foreach item=subcategorie from=$categorie.subcategories}>
                            <a href="<{$subcategorie.url}>" title="<{$subcategorie.name}>" class="subcat_display"><{$subcategorie.name}></a> 
                        <{/foreach}>
                    <{/if}>  *}>
					<br />
					</td>
			<{ if ($compteur%2) == 0 }></tr><{/if}>
			<{ if ($compteur%2) != 0 && $categories|@count == $compteur }></tr><{/if}>
			<{/foreach}>
			</table>
		</div>
	</div></td></tr><tr height="6"></tr></table>
<{/if}>
<br />
 
ти имаш ли си представа въобще от смарти???

щото това дето е написано ме съмнява въобще дали ще работи

защо всички проверки са в <> такива скоби???
 
embaka каза:
ти имаш ли си представа въобще от смарти???

щото това дето е написано ме съмнява въобще дали ще работи както е написано

защо всички проверки са в <> такива скоби???
Точно затова попитах и аз... :D
Въпреки, че не съм работил със Smarty това ми направи впечатление.
 
имаш масив с данни, assign-ваш ги

и въртиш променливите

Код:
{if $categories}
{section name=itm loop=$categories}
  <img src="{$categories[itm].id}.png" />
{/section}
{/if}

ако ти е такъв масива $categories и имаш картники с име отговарящо на id от масива $categories тогава ще ти излезе квото трябва

трябва да седна да ви напиша едно малко сайтче и това как се използва смарти, че като гледам в последно време доста се интересувате от него
 
колкото и странно да звучи си работи ... дори и след моя опит да изкарам отделно изображение за всяка категория ... иначе с една обща става но идеята ми беше поне на главните категории да си сложа отделна картинка пък на суб категориите да е стандартната
 
щом казваш, интересно ми е това какво извежда с тея тагове в пътя за картинката, ама ти си знаеш, надали работи на всички браузъри

<img src="<{$theme_dir}>/images/categories/<{$categorie.id}>.png" width="32" height="32" alt="<{$categorie.name}>" title="<{$categorie.name}>" align="absmiddle" />
 
ами <{$theme_dir}> се взима от config фаила а <{$categorie.id}> и <{$categorie.name}> си ги взима от базата като <{ assign var="compteur" value=$compteur+1 }> при извеждане му добавя +1 на id-то за слоедващата категория
 
на мен ми работи

Код:
<img src="<{$theme_dir}>/images/categories/<{$categorie.id}>.png" width="32" height="32" alt="<{$categorie.name}>" title="<{$categorie.name}>" align="absmiddle" />

но така ми търси за всяка категория и подкатегория картинка ... тоест не ми работи else ... демек ако не намери картинка със неговото ид да ми изведе тази която е по подразбиране
 
а като махна странните за теб тагове <{ и го оставя

Код:
< {if(($categorie.id)=="c1"|| $categorie.id)=="c2" )) {
{ 
<img src="<{$theme_dir}>/images/categories/<{$categorie.id}>.png" width="32" height="32" alt="<{$categorie.name}>" title="<{$categorie.name}>" align="absmiddle" />
}<{else}>
{ <img src="<{$theme_dir}>/images/post_comm_a.gif" width="16" height="16" alt="" />

}
><{/if}>

ми дава следната грешка

Fatal error: Smarty error: [in categories_alternate.html line 19]: syntax error: unexpected {else} (Smarty_Compiler.class.php, line 471) in /home/public_html/.linkzona/class/smarty/Smarty.class.php on line 1095

което пък е $this->_syntax_error('unexpected {else}', E_USER_ERROR, __FILE__,
от

Код:
case 'else':
list($_open_tag) = end($this->_tag_stack);
if ($_open_tag != 'if' && $_open_tag != 'elseif')
$this->_syntax_error('unexpected {else}', E_USER_ERROR, __FILE__, __LINE__);
else
$this->_push_tag('else');
return '<?php else: ?>';
 

Back
Горе