Писать на форуме DIAFAN.CMS могут только зарегистрированные пользователи. Войдите или зарегистрируйтесь.

Вывод только нескольких языковых версий

  • 11 октября, воскресенье
  • Добрый день! На сайте создано 3 языковых версии, но для пользователей нужно сделать блок с переключением только 2-х из них. Знаю, что шаблонный тег вывода ВСЕХ имеющихся языковых версий:
    <insert name="show_block" module="languages">
    Может кто подскажет, как сделать так, чтобы вместо eng/fr/ru выводилось только eng/fr?
    Сразу скажу, что русский не удалить, так как он по умолчанию является языком админки.
    Айдишки нужных версий соответственно, 2 и 3. Пробовал в тег добавлять id="2,3" - не прокатило...
    Заранее огромное спасибо за помощь!
    • 12 октября, понедельник
    • Вы PHP знаете?
      Там файл в modules/languages/views где можно удалять из массива result не нужный язык
      • 12 октября, понедельник , редакция: 12 октября, понедельник
      • Андрей, спасибо за ответ! С PHP не на короткой ноге, но если сможете подсказать/уточнить, каким образом можно удалить из массива язык RU с id="1", оставив ENG (id="2") и FR (id="3") буду премного благодарен! Во вьюхах только один файл с кодом:
        echo '<div class="lang-container">';
        foreach ($result as $row)
        {
        if($row["current"])
        {
        echo '<a href="#" class="lang active">' . $row["name"] . '</a>';
        }
        else
        {
        echo '<a href="'.$row["link"].'" class="lang">'.$row["name"].'</a>';
        }
        echo ' ';
        }
        echo '</div>';
        • 12 октября, понедельник
        • Код
          if ($row["id"]==1) {   continue;    }

          Первым в цикле поставьте и всё
          • 12 октября, понедельник
          • Виталий, СПАСИБО ОГРОМНОЕ!!!!!!!!!!!!!!

            В итоге, если кому понадобится, для того, чтобы вывести языковой блок только для языков с айдишками, к примеру, 2 и 3, чтобы скрыть 1, в файле, лежащем в modules/languages/views код корректируется следующим образом:

            echo '<div class="lang-container">';
            foreach ($result as $row)
            {
            if ($row["id"]==2)
            {
            if($row["current"])
            {
            echo '<a href="#" class="lang active">' . $row["name"] . '</a>';
            }
            else
            {
            echo '<a href="'.$row["link"].'" class="lang">'.$row["name"].'</a>';
            }
            echo ' ';
            }
            if ($row["id"]==3)
            {
            if($row["current"])
            {
            echo '<a href="#" class="lang active">' . $row["name"] . '</a>';
            }
            else
            {
            echo '<a href="'.$row["link"].'" class="lang">'.$row["name"].'</a>';
            }
            echo ' ';
            }
            }
            echo '</div>';

            Виталий, еще раз огромное спасибо, вопрос закрыт!
            • 12 октября, понедельник
            • Код

              echo '<div class="lang-container">';
              foreach ($result as $row)
              {
              if ($row["id"]==1) {   continue;    }
              if($row["current"])
              {
              echo '&lt;a href="#" class="lang active"&gt;' . $row["name"] . '&lt;/a&gt;';
              }
              else

              Показать весь код
              {
              echo '&lt;a href="'.$row["link"].'" class="lang"&gt;'.$row["name"].'&lt;/a&gt;';
              }
              echo ' ';
              }
              echo '</div>';


              Код Виталия отказался работать?
              • 12 октября, понедельник
              • О, можно и так, так тоже работает. Я просто подумал, что совет был в плане прикинуть, вот и поразмышлял по-своему, и всё вроде получилось, а оказывается, действительно можно было просто одной строчкой всё порешать. Евгений, спасибо, что обратили на это внимание!

Новости

  • 18 мая
  • С 1 июня 2020 стоимость продления месяца аренды в облачном сервисе Diafan.Cloud немного увеличится: бизнес-визитка – 680 рублей; интернет-магазин – 1180 рублей.Система скидок неизменна: 3 месяца – 10%, 6 месяцев – 20%, 12 месяцев – 30%. Если вы уже пользуетесь этим тарифом, до 31 мая у вас есть возможность продлить его без ограничений и на прежних условиях. На любой период: месяц, два, три, год или пять лет – как посчитаете нужным. А также мы ввели технические тикеты. Подробнее

Блоги

  • 16.11.2019
  • Достаточно широкой проблемой, которая вызывает множество вопросов, обращений в тех.поддержку и тем на форуме, является обновление, а именно ошибки, с ним связанные. Корни проблем, возникающих при этом, совершенно различны, но наиболее часто причина в кастомизации. И хоть определение это слишком широкое, всё же процедура выявления проблемы вполне стандартизована и проста. Об этом и пойдёт речь в статье.