Вопрос по облаку тегов
  • AlexeyAlexey
    Posts: 2Member

    Здравствуйте.

    Возник вопрос по формированию и работой "облака тегов".

    При формировании облака тегов была использована команда вида:

    <a href="/newscoop/?tpl=8&tag={{ $tag_value }}">  {{ $tag_name }} </a> 

    При переходе к группе статей по этой ссылке к URL-адресу добавляются параметры вида /?tpl=8&tpl=53. После этого эти же параметры начинают добавляться ко всем внутренним ссылкам на странице, которые заданы в относительном виде. То есть вместо http://example.com/1/2 получается http://example.com/1/2/?tpid=7&tpl=53. И самое не приятное, что начинают сбиваться ссылки которые заданы в самой статье как "внутренняя ссылка" через редактор административной панели.

    Как это возможно исправить?

     

     

  • 4 Comments sorted by
  • MarinaMarina
    Posts: 112Member
    Добрый день Алексей!

    Рекомендую обратиться к документации - https://wiki.sourcefabric.org/display/NsLingo/Displaying+the+URL и посмотреть, как формируется ссылка

    {{ uri }} = {{ uripath }}?{{ urlparameters }}

    {{ urlparameters }} в вашем случае это "tpid=7&tpl=53"
    если они заданы, то естественно, что для всех ссылок {{ uri }} они будут добавляться

    Alexey said:

    И самое не приятное, что начинают сбиваться ссылки которые заданы в самой статье как "внутренняя ссылка" через редактор административной панели.

    Как это возможно исправить? 



    Уточните, что Вы имеет в виду про "внутренние ссылки"?

    Как вариант - часть кода для реализации облака тегов на основе использования тем.

    {{ php }}
    $tagcloud = array();
    {{ /php }}

    {{ set_topic name = "tagcloud:en" }}
    {{ list_subtopics }}
      {{ assign var = "posts_count" value = "0" }}

      {{ list_articles ignore_issue="true" ignore_section="true" }}
        {{ assign var = "posts_count" value = $gimme->current_list->count }}
      {{ /list_articles }}

      {{ if $posts_count > 0 }}
        {{ php }}
          $gimme = $this->get_template_vars('gimme');
          $posts_count = $this->get_template_vars('posts_count');

          $tagcloud[$gimme->topic->name] = $posts_count;
        {{ /php }}
      {{ /if }}
    {{ /list_subtopics }}

    <ul class="tag-cloud">
    {{ php }}
      $min = 999999;
      $max = 1;
      $minSize = 90;
      $maxSize = 240;

      foreach ($tagcloud as $tag => $posts_count) {
        if ($posts_count > $max) {
          $max = $posts_count;
        }
        if ($posts_count < $min) {
          $min = $posts_count;
        }
      }

      foreach ($tagcloud as $tag => $posts_count) {
        if ($min == $max) {
          $fontSize = round(($maxSize - $minSize) / 2 + $minSize);
        }
        else {
          $fontSize = round((($posts_count - $min)/($max - $min)) * ($maxSize - $minSize) + $minSize);
        }
        echo '<li><span style="font-size: '.$fontSize.'%"><a href="/?tpl=section-tag.tpl&tag='.$tag.'" title="Статей с тегом «'.$tag.'»: '.$posts_count.'">'.$tag.'</a></span></li>';
      }
    {{ /php }}
    </ul>

    пример здесь - http://b-g.by/


    Post edited by Marina at 2011-12-19 04:11:03
  • klyopklyop
    Posts: 55Member

    подскажите где взять такую форму обратной связи как здесь по адресу http://b-g.by/templates/phpscripts/mail/send.php

  • MarinaMarina
    Posts: 112Member
    Добрый день активный пользователь со странным ником! :)

    Это стандартный php-file.
    Можно использовать готовый вариант php:

    Dagon Design Form Mailer
    Version 5.4

    http://www.dagondesign.com/articles/secure-php-form-mailer-script/
    В пакете есть отдельный файл для локализации на любой язык и css-файл для настройки дизайна.

    Если будут вопросы, обращайтесь на мой email - marina.klinova@sourcefabric.org. Я вышлю рабочий вариант пакета.

    Счастливого Рождества и Нового года! :)


  • AlexeyAlexey
    Posts: 2Member

    Добрый день.

    Под "внутренней ссылкой" я имел в виду ссылку созданную в визуальном редакторе админки по кнопке "insert/edit internal link".