облако тегов? (smarty + mysql + java)

Модератор: Модераторы разделов

ulan44
Сообщения: 80

облако тегов?

Сообщение ulan44 »

добрый день
Подскажите пожалуйста.
Есть движок smarty, есть таблица в mysql, делаю к ней запрос:

$query_res = $db->sql_query("SELECT tag FROM language");
$tags = array();
while ($tags[] = $db->sql_fetchrow());
unset($tags[count($tags)-1]);

потом в шаблон вывожу значение
$tpl->assign('tags',$tags);
$tpl->display('index.tpl');

в шаблоне:
есть javascript который должен был делать облако тегов

<div id="3dcloud_block" style="text-align:center;font-size:12pt;"></div>

{section name=tag loop=$tags}
<script type="text/javascript">
{literal}
var rnumber = Math.floor(Math.random()*9999999);
var so = new SWFObject("templates/img/tagcloud.swf?r="+rnumber, "tagcloudflash", "90%", "85%", "9");
so.addParam("wmode", "transparent");
so.addParam("allowScriptAccess", "always");
so.addParam("bgcolor", "#FF0000");
so.addVariable("tspeed", "150");
so.addVariable("distr", "true");
so.addVariable("mode", "tags");
so.addVariable("minFontSize", "30");
so.addVariable("maxFontSize", "40");
so.addVariable("tcolor", "0x009CFF");
so.addVariable("tcolor2", "0x009CFF");
so.addVariable("hicolor", "0x009CCF");
so.addVariable("tagcloud", "<tags><a href='http://'>{$tags[tag].tag}</a></tags>");
so.write("3dcloud_block");
{/literal}
</script>
{/section}

Но в место облака тегов выводит только надпись {$tags[tag].tag}
Если же сделать просто вывод без javascript
{section name=tag loop=$tags}
{$tags[tag].tag}
{/section}

То все отрабатывает и выдает список слов которые хранятся в базе.
Спасибо сказали:
ulan44
Сообщения: 80

Re: облако тегов?

Сообщение ulan44 »

Решил!
Кому может понадобиться то вот решение
В коде где сам идет javascript надо было закрыть тег {/literal}
потом вывести значения и заново открыть тег {literal}

{literal} - открываем тег
<script type="text/javascript">
var rnumber = Math.floor(Math.random()*9999999);
var so = new SWFObject("templates/img/tagcloud.swf?r="+rnumber, "tagcloudflash", "90%", "85%", "9");
so.addParam("wmode", "transparent");
so.addParam("allowScriptAccess", "always");
so.addParam("bgcolor", "#FF0000");
so.addVariable("tspeed", "150");
so.addVariable("distr", "true");
so.addVariable("mode", "tags");
so.addVariable("minFontSize", "30");
so.addVariable("maxFontSize", "40");
so.addVariable("tcolor", "0x009CFF");
so.addVariable("tcolor2", "0x009CFF");
so.addVariable("hicolor", "0x009CCF");
so.addVariable("tagcloud", "<tags>{/literal}- закрываем {Выводим данные} {literal} - заново открываем тэг</tags>");
so.write("3dcloud_block");
</script>
{/literal} - и тут закрываем его....


Спасибо сказали: