добрый день
Подскажите пожалуйста.
Есть движок 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}
То все отрабатывает и выдает список слов которые хранятся в базе.
облако тегов? (smarty + mysql + java)
Модератор: Модераторы разделов
-
- Сообщения: 80
Re: облако тегов?
Решил!
Кому может понадобиться то вот решение
В коде где сам идет 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} - и тут закрываем его....
Кому может понадобиться то вот решение
В коде где сам идет 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} - и тут закрываем его....