Вход • Регистрация

Как реализовать тег HIDE

  • 19 октября 2015 г.
  • Есть такая возможность реализации HIDE в diafan, иногда просто нужно что-то скрыть даже те-же ссылки которые просто в виде текста???
  • 19 октября 2015 г.
  • А по конкретнее, надо-же что-бы тег был какой-то и желательно кнопочка hide в редакторе
    • 19 октября 2015 г.
    • Руками в редакторе (html) пишете класс <div class="hide">, а в css (допустим style.css) пишите .hide {display: none;}
      В последующем, где будете указывать этот класс, контент внутри него будет скрыт.
      Только не понятно зачем? От кого скрывать? Может от незарегистрированных? Тогда по другому.
      • 19 октября 2015 г.
      • ну или доработать редактор , сделав в нем кнопку.
  • 19 октября 2015 г.
  • Ага понял "Шо" за hide ))) Как предлагал Александр Биг ЭПЛ

    Цитата
    if(! $this->diafan->_users->id)
    {


    Контент для незарегистрированного пользователя.
    Допустим ссылка на регистрацию и сообщение, что и как.



    } else {

    Контент, который должен быть на странице и доступен зарегистрированному пользователю.

    }


    Не пробовал, через кнопку, хотя если описать в .... Гы... Щас попробую ))))
  • 19 октября 2015 г.
  • Для редактора TinyMCE есть плагин спойлер - по сути это вам и нужно? Или имеется ввиду чтобы физически прятать ссылки и к прмиеру показывать только авторизованным пользователям? Если так то нет такого функционала из коробки нет
    • 19 октября 2015 г.
    • Есть и плагин "hide" у phpbb, ток вот для какого редактора, в админке или на форуме?
      • 19 октября 2015 г.
      • для контента в админке, на форуме же не используется TinyMCE
        • 19 октября 2015 г.
        • Так вопрос про TinyMCE и не стоял, это уже мы развили Был редактор, а какой?
  • 19 октября 2015 г.
  • Если только руками.
    Вот так можно, через жо..:
    В functions создаем hiden.php
    Код
    if (! defined('DIAFAN'))
    {
    include dirname(dirname(dirname(__FILE__))).'/includes/404.php';
    }

    if(! $this->diafan->_users->id)
    {


    echo '<p>Зарегистрируйтесь!</p>';
    echo '<style>
    .hiden {display: none;}
    </style> ';


    } else {



    }


    А потом где надо:

    Код
    <!-- шаблонный тег вывода основного контента сайта -->

    <insert name="hide">
    <div class="hiden">
    <insert name="show_name">
    </div>


    Ну я это так, извращаюсь
  • 20 октября 2015 г.
  • Да по принципу как у ДЛЕ [hide]ЗДЕСЬ ТЕКСТ (любой) НЕ БУДЕТ ВИДЕН ПОКА НЕ ЗАРЕГИСТРИРУЮТСЯ[/hide] а средствами движка (только для зарегистрированных) так не получится как я понимаю у не додвижка ДЛЕ элементарная вещь (нужная), а есть!
    • 20 октября 2015 г.
    • Это bbcode, от чего же не получиться? Ни кто ранее не просил подобного функционала в пожеланиях.
      А то, что здесь обсудили, так это так, "между нами девочками"
  • 20 октября 2015 г.
  • Скрывать от незарегистрированных путём: дисплей-ноне тупо. Нужно на стороне сервера физически вырезать кусок перед отправкой.
  • 20 октября 2015 г.
  • Так,что в пожелания надо отписать???
    • 20 октября 2015 г.
    • В пожеланиях если и писать, то четко формулировать задачу, что где и как должно работать.
  • 21 октября 2015 г.
  • Скрыть ссылку можно вот таким способом.

    Проверил, работает.

    Код
    $string = 'Возвращает количество <a href="http://ya.ru">найденных</a> вхождений шаблона';

    if(!$this->diafan->_users->id)
    {
    $patterns = array ('/<a href="(.*)">(.*)\<\/a>/');
    $replacements = array();
    $replacements[1] = '<b><a href="#">ссылка доступна только зарегистрированным пользователям</a></b>';
    echo preg_replace($patterns, $replacements, $string);
    } else {
    echo $string;
    }
  • 21 октября 2015 г.
  • Если кому-то удобней через [HIDE]****[/HIDE]

    Код
    $string2 = 'Возвращает [HIDE]количество <a href="http://ya.ru">айденных</a>[/HIDE] вхождений шаблона';


    if(!$this->diafan->_users->id)
    {
    $patterns2 = array ('/\[HIDE\](.+)\[\/HIDE\]/');
    $replacements2 = array();
    $replacements2[1] = '<b>Данная часть текста только для зарегистрированных пользователей</b>';
    echo preg_replace($patterns2, $replacements2, $string2);
    } else {
    $string2 = str_replace('[HIDE]', '', $string2);
    $string2 = str_replace('[/HIDE]', '', $string2);
    echo $string2;
    }
  • 23 октября 2015 г.
  • Вот это здорово а он где будет действовать? Т.е в статьях, новости, магазин, доска объявлений и.т.д???
  • 23 октября 2015 г. , редакция: 23 октября 2015 г.
  • Ну куда вставите. там и будет

    Если надо в новости, то modules/news/views/new.view.id.php

    Эту строчку

    Код
    $string2 = 'Возвращает [HIDE]количество <a href="http://ya.ru">айденных</a>[/HIDE] вхождений шаблона';


    надо будет заменить

    Код
    $string2 = $result['text'] ;
  • 26 октября 2015 г.
  • Что-то не совсем понял например в файле modules/news/views/new.view.id.php

    вот это код:

    $string2 = $string2 = $result['text'] ;

    if(!$this->diafan->_users->id)
    {
    $patterns2 = array ('/\[HIDE\](.+)\[\/HIDE\]/');
    $replacements2 = array();
    $replacements2[1] = '<b>Данная часть текста только для зарегистрированных пользователей</b>';
    echo preg_replace($patterns2, $replacements2, $string2);
    } else {
    $string2 = str_replace('[HIDE]', '', $string2);
    $string2 = str_replace('[/HIDE]', '', $string2);
    echo $string2;
    }

    в какое место вставить?

    Пожалуйста !!!
  • 27 октября 2015 г.
  • Александр Биг Эпл (ba5) ответь пожалуйста!!! Подробнее.
    • 27 октября 2015 г. , редакция: 27 октября 2015 г.
    • Зачем 2 раза $string2?

      Код

      $string2 = $this->htmleditor($result['text']);

      if(!$this->diafan->_users->id)
      {
      $patterns2 = array ('/\[HIDE\](.+)\[\/HIDE\]/');
      $replacements2 = array();
      $replacements2[1] = '<b>Данная часть текста только для зарегистрированных пользователей</b>';
      echo preg_replace($patterns2, $replacements2, $string2);
      } else {
      $string2 = str_replace('[HIDE]', '', $string2);
      $string2 = str_replace('[/HIDE]', '', $string2);
      echo $string2;
      }
      • 04 июня 2018 г.
      • Привет!

        До последнего времени этот код работал, а после каких-то обновлений (не заметил когда) перестал работать тупо показывает теги [hide][/hide] вокруг текста который хотел скрыть.

        Пожалуйста помогите а то почти весь сайт с этим тегом и теперь их тупо видно и ссылку на скачивание тоже видно.

        Что сломалось подскажите???
        • 04 июня 2018 г.
        • Может, потому что надо написать большими буквами?

          [HIDE][/HIDE]
          • 04 июня 2018 г.
          • А если у вас несколько HIDE на странице, то там чуть по другому надо делать. Это уже работа с массивами
  • 28 октября 2015 г.
  • Все спасибо сработало только нужно вставлять вместо если вместе он новость дублирует!
    - Еще HIDE обязательно писать с большой?
    - здесь как я понимаю можно обычными html тегами прописать цвет текста $replacements2[1] = '<b>Данная часть текста только для зарегистрированных пользователей</b>'; а то она получается как текст статьи и не очень видно
  • 28 октября 2015 г.
  • Все круто прячет но ручками вписывать [HIDE]asadas[/HIDE] как можно добавить вв код кнопочку в редактор. Будет проще выделил кнопочку нажал и все. Просто у меня например в каждой статье как минимум надо одну ссылку закрывать (обычно 2-3 ссылки) это тяжко когда много статей.
  • 28 октября 2015 г.
  • Выше два пункта решается так как я и думал
    - hide прописываем везде в коде маленькими и будет с маленьких букв
    - html тегами меняем цвет в моем примера делал так: <b><span style="color: #ff0000;">Данная часть текста только для зарегистрированных пользователей</span></b>';

    Последний коммент все еще актуально????
  • 28 октября 2015 г.
  • Почитал и, что! Жду конкретную помощь???
    • 29 октября 2015 г.
    • Цитата
      Почитал и, что! Жду конкретного кода и куда его всунуть!
  • 30 октября 2015 г.
  • - Эй, двое из ларца. Хочу пироженого. хочу мароженого. А чё вы и пальцы за меня загибать будете.
    Помоему это какраз этот случай. :)

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум