Kotoff писал(а):
А во2х, у вас в параметрах облака тегов ссылки очень странного вида: http:///shop/tag/Sony/ Передаете ли вы в метод посторения облака текущий алиас? (см. примеры php-кода из архива, который можно скачать из того же поста на 4й странице. В архиве, кстати путь к флешке я обновил)
Бьюсь уже второй час, но ничего не выходит. Все сделал по инструкции, облако есть, оно крутится, но при переходе по ссылке из облака видим вот что:
Вы попытались получить доступ к адресу http:///shop/tag/куома/, который сейчас недоступен. Убедитесь, что веб-адрес (URL) введен правильно, и попытайтесь перезагрузить страницу....
Даже и не знаю, что я делаю не так.
Код шаблона страницы:
<?php
/* Отображаем тэги Магазина */
// автоматическое определение id текущего магазина из настроек структуры
// можно вбить id вручную, заменив следующую строку, например, на $shop_id = 1;
$shop_id = to_int($GLOBALS['LA']['shop_id']);
$xsl_name = 'УниверсальноеОблакоТэговCumulus';
// Определим текущий домен сайта, для передачи его в XML
$site = &singleton('site');
$alias_row = $site->GetAlias($_SERVER['HTTP_HOST']);
$current_alias = $site->GetCurrentAlias($alias_row['site_id']);
$property = array();
$external_propertys = array();
// Передадим текущий домен сайта в XML
$external_propertys['current_alias'] = $current_alias;
$shop = &singleton('shop');
$shop->ShowTagsCloud($shop_id, $xsl_name, $property, $external_propertys);
?>
Содержимое XLS-шаблона
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="UTF-8" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
<!-- УниверсальноеОблакоТэговCumulus -->
<xsl:template match="/">
<h2>Метки</h2>
<!--Подключим библиотеку-загрузчик Flash-->
<script type="text/javascript" src="/cumulus/jquery.swfobject.1-1-1.js"></script>
<!--Определим количество элементов для наиболее распространенной метки-->
<xsl:variable name="max_tag_count" select="(//tag/count[not(. < //tag/count)])[1] - 1"/>
<!--Зададим минимальный и максимальный размер шрифта-->
<xsl:variable name="max_size" select="24"/>
<xsl:variable name="min_size" select="9"/>
<!--Вычислим коэффициент размерности шрифта для меток с различным количеством элементов-->
<xsl:variable name="coeff_size">
<xsl:choose>
<xsl:when test="$max_tag_count > 0">
<xsl:value-of select="($max_size - $min_size) div $max_tag_count"/>
</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!--Создадим контейнер для Flash-облака.
ОБРАТИТЕ ВНИМАНИЕ! Если на странице несколько облаков, то id у их контейнеров должен быть разным!-->
<div id="smallcloudflashcontent">
<!--Выведем сюда классическое облако тегов, для тех у кого отключен Flash или Javascript-->
<div class="TagsCloud">
<xsl:apply-templates select="//tags/tag">
<xsl:with-param name="min_size" select="$min_size"/>
<xsl:with-param name="total" select="sum(//tag/count)"/>
<xsl:with-param name="coeff_size" select="$coeff_size"/>
</xsl:apply-templates>
</div>
</div>
<!--Подключим Flash-облако с помощью библиотекиjquery.swfObject-->
<script>
<xsl:text disable-output-escaping="yes"><!--</xsl:text>
var tags_list = '<tags><xsl:apply-templates select="//tags/tag">
<xsl:with-param name="min_size" select="$min_size"/>
<xsl:with-param name="total" select="sum(//tag/count)"/>
<xsl:with-param name="coeff_size" select="$coeff_size"/></xsl:apply-templates></tags>';
//var rnumber = Math.floor(Math.random()*9999999);
$('#smallcloudflashcontent').flash(
{
swf: '/cumulus/tagcloud.swf',
width: 190,
height: 190,
wmode: 'transparent',
allowScriptAccess: 'always',
allowFullScreen: false,
flashvars: {
tcolor: '0x333333',
mode: 'tags',
distr: 'true',
tspeed: '100',
tagcloud: tags_list
}
},
{ version: 8 }
);
<xsl:text disable-output-escaping="yes">--></xsl:text>
</script>
</xsl:template>
<!-- Облако из групп -->
<xsl:template match="tag">
<xsl:param name="min_size"/>
<xsl:param name="total"/>
<xsl:param name="coeff_size" select="10"/>
<xsl:variable name="size" select="round($min_size + ((count - 1) * $coeff_size))"/><xsl:text disable-output-escaping="yes"><</xsl:text>a href="http://<xsl:value-of select="/document/current_alias"/><xsl:value-of select="parent::*/parent::*/path"/><xsl:value-of select="parent::*/parent::*/url"/>tag/<xsl:value-of select="tag_path_name"/>/" style="font-size: <xsl:value-of select="$size"/>pt"<xsl:text disable-output-escaping="yes">></xsl:text><xsl:value-of select="tag_name"/><xsl:text disable-output-escaping="yes"><</xsl:text>/a<xsl:text disable-output-escaping="yes">></xsl:text><xsl:text> </xsl:text></xsl:template>
</xsl:stylesheet><!-- Stylus Studio meta-information - (c) 2004-2009. Progress Software Corporation. All rights reserved.
<metaInformation>
<scenarios>
<scenario default="yes" name="Scenario1" userelativepaths="yes" externalpreview="no" url="cumulus.xml" htmlbaseurl="" outputurl="" processortype="internal" useresolver="yes" profilemode="0" profiledepth="" profilelength="" urlprofilexml=""
commandline="" additionalpath="" additionalclasspath="" postprocessortype="none" postprocesscommandline="" postprocessadditionalpath="" postprocessgeneratedext="" validateoutput="no" validator="internal" customvalidator="">
<advancedProp name="sInitialMode" value=""/>
<advancedProp name="bXsltOneIsOkay" value="true"/>
<advancedProp name="bSchemaAware" value="true"/>
<advancedProp name="bXml11" value="false"/>
<advancedProp name="iValidation" value="0"/>
<advancedProp name="bExtensions" value="true"/>
<advancedProp name="iWhitespace" value="0"/>
<advancedProp name="sInitialTemplate" value=""/>
<advancedProp name="bTinyTree" value="true"/>
<advancedProp name="bWarnings" value="true"/>
<advancedProp name="bUseDTD" value="false"/>
<advancedProp name="iErrorHandling" value="fatal"/>
</scenario>
</scenarios>
<MapperMetaTag>
<MapperInfo srcSchemaPathIsRelative="yes" srcSchemaInterpretAsXML="no" destSchemaPath="" destSchemaRoot="" destSchemaPathIsRelative="yes" destSchemaInterpretAsXML="no"/>
<MapperBlockPosition></MapperBlockPosition>
<TemplateContext></TemplateContext>
<MapperFilter side="source"></MapperFilter>
</MapperMetaTag>
</metaInformation>
-->