Настройка мода WelcomeTopic2.3

Мод этот предназначен как приветствие новым пользователям. На DLE у меня такой был, плагин PM
  1. Оффлайн

    Автор темы

    WYLEK

    Звание: Легенда

    Админ

    Сообщений: 2178

    Создано тем: 315

    Рейтинг: 10

    Репа: (245|245|0)

    Баллы: 3400

    Был: 2024-04-08 16:00

    Лайков: 196



    Мод этот предназначен как приветствие новым пользователям. На DLE у меня такой был, плагин PM приветствие 4.0 присылал в личку приветствие. Здесь сделано по другому, при каждой регистрации создается автоматически тема приветствия. Но, где и как разместить блок непонятноdontknow

    Что хотелось бы...
    1. Создать блок на главной.
    2. В блоке на главной вывод ссылок на тему приветствия.
    3. В блоке вывод только из одной категории, последние сообщения со всех тем не показывались.
    4. На главной в блоке Последние сообщения темы приветствия не показывалась.
    5. На форуме в блоке Последние сообщения темы приветствия не показывалась.



    По первому пункту проблем нет, все создается в Tinyportal

    По второму пункту беда - в Tinyportal нет такой фишки mad

    Начал рыть инет bang

    На одном форуме нашел заготовку кода от digger, убрал что мне не нужно и вставил в блок тянипортал.

    Создал раздел для этого мода с ограниченными правами.


    Код для блока.
    // * Recent Topics mod by digger
    
    global $settings;
        require_once('SSI.php');
    
        $ssi_count_topics_right = 5; //  Количество отображаемых последних сообщений
        $ssi_exclude_boards = array(); // Перечислить через запятую id разделов, последние сообщения из которых не нужны. 
     //Например, array (1, 2)
        $ssi_include_boards = array(57); // Перечислить через запятую id разделов, последние сообщения из которых надо отображать. 
     //Например, array (1, 2)
     
        $ssi_row_counter = 0;
        
        $ssi_recentTopics = ssi_recentTopics($ssi_count_topics_right, $ssi_exclude_boards, $ssi_include_boards, 'array');
     
          foreach ($ssi_recentTopics as $ssi_recentTopic) {
            $ssi_row_counter++;
    
        echo '<hr><img src="' . $settings['default_theme_url'] . '/images/tinyportal/TPdivider3.png" alt="" style="margin:0 4px 0 0;">',
        '<a class="subject" style="color:rgb(0, 54, 155);" target ="_blank" href="', $ssi_recentTopic['href'], '">', $ssi_recentTopic['short_subject'], '</a>', // Ссылка на последнее сообщение
    
            ' <br><img src="' . $settings['default_theme_url'] . '/images/tinyportal/TPdivider.png" alt="" style="margin:0 4px 0 0;">',                      
            $ssi_recentTopic['time'], // Дата последнего сообщения                
    '  от  ', 
            $ssi_recentTopic['poster']['link']; // Ссылка на автора последнего сообщения
          }
      // Recent Topics mod by digger*


    В адресной строке посмотрел идентификатор и вставил в код, у меня созданный раздел имеет ID 57


    Сделал несколько тестовых регистраций и все заработало1tooth, по третьему пункту все ОК!




    Но в тянипортале тоже вылезли эти сообщенияlol


    Взял бубен и стал в его бить friday. Шаман подсказал выход biggrin

    Открыл TPsubs.template.php, заменил код.

    Найти
    $include_boards = null;
    
     $what = ssi_recentTopics($num_recent = $context['TPortal']['recentboxnum'] , $exclude_boards = array($bb),  $include_boards, $output_method = 'array');


    заменить на
    // Перечислить через запятую id разделов, последние сообщения из которых надо отображать.
     //Например, $include_boards = array(1, 2); 
     $include_boards = array(); 
     
        //$exclude_boards = array($bb) Перечислить через запятую id разделов, последние сообщения из которых не нужны.
     //Ќапример, array $exclude_boards = array($bb, 1, 2)
     $what = ssi_recentTopics($num_recent = $context['TPortal']['recentboxnum'] , $exclude_boards = array($bb, 57),  $include_boards, $output_method = 'array');


    В коде array($bb, 57) число 57 это идентификатор созданного раздела.

    Пункт 4 преодолел ura


    Теперь бяка осталась на форуме mad


    Если зарегистрируется десяток пользователей, то все последние сообщения будут ими забиты, а нафига нам это надоthumb
    На офсайте SMF нашел мод Hiding posts from recent posts, правда древний - smf 2.0.8. Автором заброшен еще в 2014 году.
    После небольших манипуляций мод заработал без ошибок на smf 21.rc2

    Что делает этот мод - он позволяет удалять категории, разделы и темы по вашему выбору из списков последних сообщений.
    То что доктор прописал klizma

    Вставил ID раздела 57, чтобы не выводились сообщения о приветствии новых пользователей.


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


    Вид на форуме.





    Моды для этого дела...

    Внимание! У вас нет прав для просмотра скрытого текста.
    - в мод добавлен русский язык

    Внимание! У вас нет прав для просмотра скрытого текста.
    - в мод добавлен русский язык плюс интеграция Tinyportal

    Внимание! У вас нет прав для просмотра скрытого текста.
    - в мод добавлен русский язык плюс лечение для SMF2.1 RC2
    1234 нравится это сообщение.
    Сообщение отредактировал WYLEK 29 января 2023 - 13:53

    27 февраля 2020 - 08:41 / #1

Статистика форума, пользователей онлайн: 2 (за последние 20 минут)

Создано тем
1177
Всего сообщений
15331
Пользователей
17849
Новый участник
volk