|
|
|
| Здравствуйте! на сайте есть скрипт облако тэгов. за вывод отвечает кусок кода:
echo '<a style="text-decoration:none; color:black; font-size:'.$fontSize.'%"" href="/lessons.php?tag='.$item['id'].'" title="записей: '.$item['posts_count'].'">'.$item['tag'].'</a> ';
|
как все то дело занести в массив вот $tags = '<tags> сюда </tags>'; | |
|
|
|
|
|
|
|
для: uvajs
(12.10.2010 в 13:32)
| | $переменная = ""; //инициализация
цикл (условие) {
$переменная.= '<a style="text-decoration:none; color:black; font-size:'.$fontSize.'%"" href="/lessons.php?tag='.$item['id'].'" title="записей: '.$item['posts_count'].'">'.$item['tag'].'</a> '
}
echo $переменная; | |
|
|
|
|
|
|
|
для: Красная_шляпа
(12.10.2010 в 14:08)
| | И это будет массив? | |
|
|
|
|
|
|
|
для: sim5
(12.10.2010 в 14:09)
| | я как понял он сам не знает что ему надо и поэтому лишь попытался догадаться об этом | |
|
|
|
|
|
|
|
для: Красная_шляпа
(12.10.2010 в 14:23)
| | >я как понял он сам не знает что ему надо и поэтому лишь попытался догадаться об этом
Давайте не будем об этом, я прекрасно понимаю, что делаю. у меня тэги выводятся нормально, чтобы сделать вращающий облако необходимо занести тэги в массив | |
|
|
|
|
|
|
|
для: uvajs
(12.10.2010 в 14:50)
| | $переменная = array();
$переменная[] = "новый элемент"; | |
|
|
|
|
|
|
|
для: Красная_шляпа
(12.10.2010 в 15:04)
| | >$переменная = array();
>$переменная[] = "новый элемент";
прописал tags = array(тут код, что то у меня ошибку выдает); | |
|
|
|
|
|
|
|
для: uvajs
(12.10.2010 в 15:09)
| | какую ошибку? | |
|
|
|
|
|
|
|
для: Красная_шляпа
(12.10.2010 в 15:12)
| | >какую ошибку?
Для корректного отображения этого элемента вам необходимо установить FlashPlayer и включить в браузере Java Script. ");widget_so.write("tags");
вот код
<div class="aii_tags">
<?php
if ($tagcloud === FALSE) {
echo "Данные не найдены";
}
else {
$min = $tagcloud[0]['posts_count'];
$max = $tagcloud[0]['posts_count'];
for ($i = 1; $i < count($tagcloud); $i++) {
if ($tagcloud[$i]['posts_count'] > $max) {
$max = $tagcloud[$i]['posts_count'];
}
if ($tagcloud[$i]['posts_count'] < $min) {
$min = $tagcloud[$i]['posts_count'];
}
}
$minSize = 70;
$maxSize = 130;
foreach ($tagcloud as $item) {
if ($min == $max) {
$fontSize = round(($maxSize - $minSize) / 2 + $minSize);
}
else {
$fontSize = round((($item['posts_count'] - $min)/($max - $min)) * ($maxSize - $minSize) + $minSize);
}
$tags = array('<tags><a style="text-decoration:none; color:black; font-size:'.$fontSize.'%"" href="/lessons.php?tag='.$item['id'].'" title="записей: '.$item['posts_count'].'">'.$item['tag'].'</a> </tags>');
}
}
?>
<div id="tags" align="center">
Для корректного отображения этого элемента вам необходимо установить FlashPlayer и включить в браузере Java Script.
<script type="text/javascript">
var rnumber = Math.floor(Math.random()*9999999);
var widget_so = new SWFObject("tagcloud.swf?r="+rnumber, "tagcloudflash", "600", "600", "9", "#ffffff");
widget_so.addParam("allowScriptAccess", "always");widget_so.addVariable("tcolor", "black");
widget_so.addVariable("tspeed", "115");
widget_so.addVariable("distr", "true");
widget_so.addVariable("mode", "tags");
widget_so.addVariable("tagcloud", "<?php $tags=iconv("windows-1251","UTF-8", $tags);echo urlencode($tags); ?>");widget_so.write("tags");</script>
</div>
</div>
|
| |
|
|
|
|
|
|
|
для: uvajs
(12.10.2010 в 15:43)
| | ггг ну так включи в браузере жаба скрипт и установи flash player я то тут при чём | |
|
|
|
|
|
|
|
для: Красная_шляпа
(12.10.2010 в 16:10)
| | флэш установлен и javascript тоже включен, все равно не выходит...
если прописать вот так
$tags = '<tags>
<a href="http://engells.com/lessons.php?cat=1" style="font-size: 15pt">HTML</a>
<a href="http://engells.com/lessons.php?cat=2" style="font-size: 15pt">CSS уроки</a>
<a href="http://cssor.ru" style="font-size: 15pt">Крутой сайт о CSS</a>
<a href="http://Wincert.ru" style="font-size: 15pt">Веб разработчик</a>
<a href="http:// W-blog.ru" style="font-size: 15pt">Интересное</a>
<a href="http:// W-blog.ru" style="font-size: 15pt">Интересное</a>
</tags>';
|
почему то облако работает...
в чем может быть разница? | |
|
|
|
|
|
|
|
для: uvajs
(12.10.2010 в 16:19)
| | РНР то тут при чем? | |
|
|
|
|
|
|
|
для: sim5
(12.10.2010 в 16:41)
| | почему тогда этот код выводит только один тег
if ($tagcloud === FALSE) {
echo "Данные не найдены";
}
else {
$min = $tagcloud[0]['posts_count'];
$max = $tagcloud[0]['posts_count'];
for ($i = 1; $i < count($tagcloud); $i++) {
if ($tagcloud[$i]['posts_count'] > $max) {
$max = $tagcloud[$i]['posts_count'];
}
if ($tagcloud[$i]['posts_count'] < $min) {
$min = $tagcloud[$i]['posts_count'];
}
}
$minSize = 70;
$maxSize = 130;
foreach ($tagcloud as $item) {
if ($min == $max) {
$fontSize = round(($maxSize - $minSize) / 2 + $minSize);
}
else {
$fontSize = round((($item['posts_count'] - $min)/($max - $min)) * ($maxSize - $minSize) + $minSize);
}
$t = '<a style="text-decoration:none; color:black; font-size:'.$fontSize.'%"" href="/lessons.php?tag='.$item['id'].'" title="записей: '.$item['posts_count'].'">'.$item['tag'].'</a> ';
echo $t;
}
}
|
а этот выводит все тэги
echo '<a style="text-decoration:none; color:black; font-size:'.$fontSize.'%"" href="/lessons.php?tag='.$item['id'].'" title="записей: '.$item['posts_count'].'">'.$item['tag'].'</a> ';
|
в чем разница? | |
|
|
|
|
|
|
|
для: uvajs
(12.10.2010 в 16:43)
| | Вы привели две одинаковых строки и спрашиваете разницу? Между M=N echo M и echo N, нет никакой разницы, кроме лишнего присваивания. | |
|
|
|
|
|
|
|
для: sim5
(12.10.2010 в 16:52)
| |
$t = array('<a style="text-decoration:none; color:black; font-size:'.$fontSize.'%"" href="/lessons.php?tag='.$item['id'].'" title="записей: '.$item['posts_count'].'">'.$item['tag'].'</a> ');
echo $t;
|
выводится: ArrayArrayArrayArrayArrayArrayArray ArrayArrayArrayArrayArrayArrayArray ArrayArrayArrayArrayArrayArrayArray
что я делаю неправильно? | |
|
|
|
|
|
|
|
для: uvajs
(12.10.2010 в 17:06)
| | >что я делаю неправильно?
Пишите код совсем не изучая материала.
Смысла в записи $t = array('....') нет ни какого, ибо вы получите в конечном итоге массив с одним элементом. К тому же, массив, он и в Африке массив, и обращение к нему echo array(), это за гранью фантастики. | |
|
|
|
|
|
|
|
для: sim5
(12.10.2010 в 17:20)
| | тогда подскажите, как выводить эти тэги внутри $tags = '<tags> вот тут</tags>'; ?
вот такое скрипт
<?php
if ($tagcloud === FALSE) {
echo "Данные не найдены";
}
else {
$min = $tagcloud[0]['posts_count'];
$max = $tagcloud[0]['posts_count'];
for ($i = 1; $i < count($tagcloud); $i++) {
if ($tagcloud[$i]['posts_count'] > $max) {
$max = $tagcloud[$i]['posts_count'];
}
if ($tagcloud[$i]['posts_count'] < $min) {
$min = $tagcloud[$i]['posts_count'];
}
}
$minSize = 70;
$maxSize = 130;
foreach ($tagcloud as $item) {
if ($min == $max) {
$fontSize = round(($maxSize - $minSize) / 2 + $minSize);
}
else {
$fontSize = round((($item['posts_count'] - $min)/($max - $min)) * ($maxSize - $minSize) + $minSize);
}
echo '<a style="text-decoration:none; color:black; font-size:'.$fontSize.'%"" href="/lessons.php?tag='.$item['id'].'" title="записей: '.$item['posts_count'].'">'.$item['tag'].'</a> ';
}
}
?>
| выводятся все тэги http://s003.radikal.ru/i202/1010/a8/6f2774463591.jpg
теги которые выводятся, мне нужно занести $tags = '<tags> вот тут</tags> и получиться вращающее облако. протестировал так:
$tags = '<tags>
<a href="http://engells.com/" style="font-size: 15pt">HTML</a>
<a href="http://engells.com/" style="font-size: 15pt">CSS уроки</a>
<a href="http://cssor.ru" style="font-size: 15pt">Крутой сайт о CSS</a>
<a href="http://Wincert.ru" style="font-size: 15pt">Веб разработчик</a>
<a href="http:// W-blog.ru" style="font-size: 15pt">Интересное</a>
<a href="http:// W-blog.ru" style="font-size: 15pt">Интересное</a>
</tags>';
|
все нормально работает.
http://s04.radikal.ru/i177/1010/b4/6a9c9847118c.gif | |
|
|
|
|
|
|
|
для: uvajs
(12.10.2010 в 17:32)
| | Вы теги ссылок выводите в цикле из массива, а обрамить чем-то содержимое массива как можно? То чем вы хотите обрамить относится к самому массиву или нет? Требуется ли для этого промежуточная переменная? | |
|
|
|
|
|
|
|
для: sim5
(12.10.2010 в 17:36)
| | >Вы теги ссылок выводите в цикле из массива, а обрамить чем-то содержимое массива как можно? То чем вы хотите обрамить относится к самому массиву или нет? Требуется ли для этого промежуточная переменная?
не совсем я Вас понял. в общих чертах можно сделать то что я сказал выше? | |
|
|
|
|
|
|
|
для: uvajs
(12.10.2010 в 18:33)
| | Можно. Если у вас есть массив содержащий а, б, в, г, и вам надо его содержимое поместить в тег DIV, что вы будете делать? | |
|
|
|
|
|
|
|
для: sim5
(12.10.2010 в 18:42)
| | >что вы будете делать?
знаете, что мне непонятно: echo '<a style="text-decoration:none; color:black; font-size:'.$fontSize.'%"" href="/lessons.php?tag='.$item['id'].'" title="записей: '.$item['posts_count'].'">'.$item['tag'].'</a> '; этот строка выводит теги нормально. если загнать эту страку в переменную какую нибудь, все равно результат тот же. в таком случае $tags = '<tags>'<a style="text-decoration:none; color:black; font-size:'.$fontSize.'%"" href="/lessons.php?tag='.$item['id'].'" title="записей: '.$item['posts_count'].'">'.$item['tag'].'</a></tags>'; выводится только один тег в вращающем виде. почему не все теги попадают $tags = '<tags>' сюда </tags>';
никак не пойму.. | |
|
|
|
|
|
|
|
для: uvajs
(12.10.2010 в 19:10)
| | Я вам задавал вопрос - а нужна ли вам промежуточная переменная (массив, чего вы раньше просили, не важно что), чтобы вывести содержимое массива в некий тег? Куда вы должны поместить открывающий и закрывающий теги tags, чтобы поместилось все между ними? И почему это:
<?
$tags = '<tags>'<a style="text-decoration:none; color:black; font-size:'.$fontSize.'.......tags>';
| У вас что нет подсветки и вы не замечаете ошибки?
<?
$a = array(1,2,3,4,5);
echo '<div>';
foreach($a as $v) echo $v . '<br>';
echo '</div>';
| Зачем в цикле $tags и прочая, если можно сразу выводить? | |
|
|
|
|
|
|
|
для: uvajs
(12.10.2010 в 19:10)
| |
<?php
if ($tagcloud === FALSE) {
echo "Данные не найдены";
}
else {
$min = $tagcloud[0]['posts_count'];
$max = $tagcloud[0]['posts_count'];
for ($i = 1; $i < count($tagcloud); $i++) {
if ($tagcloud[$i]['posts_count'] > $max) {
$max = $tagcloud[$i]['posts_count'];
}
if ($tagcloud[$i]['posts_count'] < $min) {
$min = $tagcloud[$i]['posts_count'];
}
}
$minSize = 70;
$maxSize = 130;
$переменная = "";
foreach ($tagcloud as $item) {
if ($min == $max) {
$fontSize = round(($maxSize - $minSize) / 2 + $minSize);
}
else {
$fontSize = round((($item['posts_count'] - $min)/($max - $min)) * ($maxSize - $minSize) + $minSize);
}
$переменная.= '<a style="text-decoration:none; color:black; font-size:'.$fontSize.'%"" href="/lessons.php?tag='.$item['id'].'" title="записей: '.$item['posts_count'].'">'.$item['tag'].'</a> ';
}
echo "<tags>".$переменная."</tags>";
}
?>
|
| |
|
|
|
|
|
|
|
для: Красная_шляпа
(12.10.2010 в 19:55)
| | А без этой переменной ну прямо никак? | |
|
|
|
|
|
|
|
для: sim5
(12.10.2010 в 20:40)
| | нет с чего начали к тому и пришли | |
|
|
|
|
|
|
|
для: Красная_шляпа
(12.10.2010 в 20:57)
| | Друзья, Вы просто не понимаете суть моей проблемы. шас попытаюсь объяснить.
на данный момент у меня на сайте реализован скрипт http://www.simplecoding.org/kak-sozdat-oblako-tegov-dlya-svoego-sajta.html
и работает, тэги выводятся нормально. теперь я хотел сделать из этого флеш облако используя этот скрипт http://w-blog.ru/node/22 .
в скрипте как Вы наверное уже видели ссылки нужно прописать вручную, т.е. таким образом
$tags = '<tags>
<a href="http://Wincert.ru" style="font-size: 15pt">Wincert</a>
<a href="http://W-blog.ru" style="font-size: 15pt">Мой блог</a>
<a href="http://cssor.ru" style="font-size: 15pt">Крутой сайт о CSS</a>
<a href="http://Wincert.ru" style="font-size: 15pt">Веб разработчик</a>
<a href="http:// W-blog.ru" style="font-size: 15pt">Интересное</a>
</tags>';
|
так как у меня этот скрипт http://www.simplecoding.org/kak-sozdat-oblako-tegov-dlya-svoego-sajta.html работает, хотел занести результат вместо этих ссылок, т.е. вот так
<?php
if ($tagcloud === FALSE) {
echo "Данные не найдены";
}
else {
$min = $tagcloud[0]['posts_count'];
$max = $tagcloud[0]['posts_count'];
for ($i = 1; $i < count($tagcloud); $i++) {
if ($tagcloud[$i]['posts_count'] > $max) {
$max = $tagcloud[$i]['posts_count'];
}
if ($tagcloud[$i]['posts_count'] < $min) {
$min = $tagcloud[$i]['posts_count'];
}
}
$minSize = 70;
$maxSize = 130;
$переменная = "";
foreach ($tagcloud as $item) {
if ($min == $max) {
$fontSize = round(($maxSize - $minSize) / 2 + $minSize);
}
else {
$fontSize = round((($item['posts_count'] - $min)/($max - $min)) * ($maxSize - $minSize) + $minSize);
}
$tag_s.= '<a style="text-decoration:none; color:black; font-size:'.$fontSize.'%"" href="/lessons.php?tag='.$item['id'].'" title="записей: '.$item['posts_count'].'">'.$item['tag'].'</a> ';
$tags = "<tags>".$tag_s."</tags>";
?>
Для корректного отображения этого элемента вам необходимо установить FlashPlayer и включить в браузере Java Script.
<script type="text/javascript">
var rnumber = Math.floor(Math.random()*9999999);
var widget_so = new SWFObject("tagcloud.swf?r="+rnumber, "tagcloudflash", "170", "150", "9", "#ffffff");
widget_so.addParam("allowScriptAccess", "always");widget_so.addVariable("tcolor", "0x333333");
widget_so.addVariable("tspeed", "115");
widget_so.addVariable("distr", "true");
widget_so.addVariable("mode", "tags");
widget_so.addVariable("tagcloud", "<?php $tags=iconv("windows-1251","UTF-8", $tags);echo urlencode($tags); ?>");widget_so.write("tags");</script>
<?
}
}
?>
|
но ничего не выводится, хотя какая разница самопрописанные ссылки или тэги? | |
|
|
|
|
|
|
|
для: uvajs
(12.10.2010 в 21:19)
| | Что содержат в себе ключи $tagcloud[N]['posts_count']?
Каким образом $переменная соотносится с $tag_s?
Почему обрамление тегами и результирующая переменная $tags, а также вывод JS с объектом Flash находятся в теле цикла? | |
|
|
|
|
|
|
|
для: sim5
(13.10.2010 в 07:07)
| | Спасибо всем! все заработало! | |
|
|
|