1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Произвольный html после первого сообщения в теме

Тема в разделе "Основные вопросы по XenForo", создана пользователем vwzt, 25.10.2010.

Загрузка
  1. Romchik®

    Romchik® The Power of Dreams Команда форума

    Регистрация:
    26.09.10
    Сообщения:
    5 746
    Симпатии:
    5 311
    Версия XF:
    1.5.18
    HTML с исходного кода:
    HTML:
    <li class="message">
        <div class="messageUserInfo">
            <div class="messageUserBlock">
                <div class="avatarHolder">
                    <a class="avatar Av1886m" href="members/kakbeololo.1886/"><span style="background-image:url('styles/default/xenforo/avatars/avatar_male_m.png')" class="img m"></span></a>
                </div>
                <h3 class="userText">
                    <a class="username" href="members/kakbeololo.1886/">KakBeOlolo</a>
                    <em class="userTitle">Статус</em>
                </h3>
                <span class="arrow"><span></span></span>
            </div>
        </div>
        <div class="messageInfo primaryContent">
            <div class="messageContent">
                <article>
                    <blockquote class="messageText ugc baseHtml">
                        Текст сообщения...
                    </blockquote>
                </article>
            </div>
        </div>
    </li>
    Смотрим шаблоны, начинающиеся с ad_ - это специальные шаблоны для рекламы. Экспериментируйте с ними.
     
    KakBeOlolo нравится это.
  2. KakBeOlolo

    KakBeOlolo Местный

    Регистрация:
    08.10.11
    Сообщения:
    510
    Симпатии:
    93
    Версия XF:
    1.1.2
    Супер!:thumbsup:
    То что я хотел, но есть последний вопрос, как сделать что бы это отображалось в отдельных разделах?
     
  3. Romchik®

    Romchik® The Power of Dreams Команда форума

    Регистрация:
    26.09.10
    Сообщения:
    5 746
    Симпатии:
    5 311
    Версия XF:
    1.5.18
    Условия для разделов я не знаю. Если они вообще есть. Нужно поискать на оф. форуме.
     
  4. KakBeOlolo

    KakBeOlolo Местный

    Регистрация:
    08.10.11
    Сообщения:
    510
    Симпатии:
    93
    Версия XF:
    1.1.2
    Есть еще вопрос, из-за этого хтмл кода , при редактировании сообщения, страница не обновляется и приходится самому обновлять.

    Подскажите, что можно вписать, что бы исправить.
     
  5. Romchik®

    Romchik® The Power of Dreams Команда форума

    Регистрация:
    26.09.10
    Сообщения:
    5 746
    Симпатии:
    5 311
    Версия XF:
    1.5.18
    Простой HTML не влияет на это.
    Ссылку на страницу покажите.
     
  6. KakBeOlolo

    KakBeOlolo Местный

    Регистрация:
    08.10.11
    Сообщения:
    510
    Симпатии:
    93
    Версия XF:
    1.1.2
    http://market4game.ru/threads/Как-попасть-на-ПТС.51/

    у меня стоит после 1 ого сообщения, суть в том что после редактирования и сохранения, появляется белая страница и приходится самому обновлять, но что отредактировал сохраняется.

    Код:
    <xen:if is="{$post.position} == 0">
    
    <center>
    <b>Интересная игра:</b>
    <script type='text/javascript'>(function() {
      /* Optional settings (these lines can be removed): */
      subID = "";  // - local banner key;
      injectTo = "";  // - #id of html element (ex., "top-banner").
      /* End settings block */
    
    if(injectTo=="")injectTo="admitad_shuffle"+subID+Math.round(Math.random()*100000000);
    if(subID=='')subid_block=''; else subid_block='subid/'+subID+'/';
    document.write('<div id="'+injectTo+'"></div>');
    var s = document.createElement('script');
    s.type = 'text/javascript'; s.async = true;
    s.src = 'http://www.ad.admitad.com/shuffle/adebab8c42/'+subid_block+'?inject_to='+injectTo;
    var x = document.getElementsByTagName('script')[0];
    x.parentNode.insertBefore(s, x);
    })();</script>
    
    </center>
    
    </xen:if>
    Это стоит в шаблоне: ad_message_below
     
  7. Romchik®

    Romchik® The Power of Dreams Команда форума

    Регистрация:
    26.09.10
    Сообщения:
    5 746
    Симпатии:
    5 311
    Версия XF:
    1.5.18
    А где там собственно этот HTML между сообщениями?
     
  8. KakBeOlolo

    KakBeOlolo Местный

    Регистрация:
    08.10.11
    Сообщения:
    510
    Симпатии:
    93
    Версия XF:
    1.1.2
    У меня баннер стоит и таким образом редактируется только первое сообщение

    Если надо, то можете зайти на форум, создать тему и посмотреть что просиходит при редактировании:

    [удалено]
     
  9. Romchik®

    Romchik® The Power of Dreams Команда форума

    Регистрация:
    26.09.10
    Сообщения:
    5 746
    Симпатии:
    5 311
    Версия XF:
    1.5.18
    Я баннер сразу не увидел, т.к. баннерорезалка стоит.
    Попробуйте удалить этот JS (не весь HTML, а именно этот JS). Если проблема исчезнет, то понятно, что виноват скрипт баннера - конфликт где-то.
     
  10. KakBeOlolo

    KakBeOlolo Местный

    Регистрация:
    08.10.11
    Сообщения:
    510
    Симпатии:
    93
    Версия XF:
    1.1.2
    Да, при удалении баннера все нормально становится, а можно как-нибудь исправить это?
     
  11. Romchik®

    Romchik® The Power of Dreams Команда форума

    Регистрация:
    26.09.10
    Сообщения:
    5 746
    Симпатии:
    5 311
    Версия XF:
    1.5.18
    Наверняка.
    Может стоит обратиться к поставщикам баннеров. Возможно они глянут причину конфликта.
    Либо же к программисту, который понимает хорошо JS.
     
  12. Mike

    Mike Местный

    Регистрация:
    30.11.11
    Сообщения:
    149
    Симпатии:
    3
    Версия XF:
    1.1.0 Final
    Может немного не в тему, но раз в этой теме пошли интересные фичи с условиями отображения рекламы, то вот мой вопросик :

    Как сделать так, чтобы в первом сообщении темы, под аватаркой, распологался вертикальный блок рекламы (google.adsense) в том случае, если длина текста этого первого сообщения равна 1500 и более символов ? :)
    Если же в первом сообщении любой темы любого раздела нету 1500 символов - реклама не показывается (во благо Usability). :)
     
  13. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Навскидку. Написать плагин, который будет использовать хук, в котором уже можно будет посмотреть HTML нужного места. Ну и в зависимости от этого выводить или не выводить рекламу и т.д.
     
  14. Agel_Nash

    Agel_Nash Пользователь

    Регистрация:
    23.01.12
    Сообщения:
    16
    Симпатии:
    7
    Версия XF:
    1.1.2
    Чтобы в личных сообщениях не появлялся блок рекламы нужно в условие добавить !{$conversation}
    т.е. код примерно такой
    PHP:
    <xen:if is="{$post.position}%3 == 0 AND !{$conversation}">
    Реклама
    </xen:if>
     
  15. Mike

    Mike Местный

    Регистрация:
    30.11.11
    Сообщения:
    149
    Симпатии:
    3
    Версия XF:
    1.1.0 Final
    Подскажите, а если у меня реклама например стоит в шаблоне : ad_forum_view_above_thread_list
    Как запретить показываться этой рекламе в определенных разделах форума?
     
  16. Mike

    Mike Местный

    Регистрация:
    30.11.11
    Сообщения:
    149
    Симпатии:
    3
    Версия XF:
    1.1.0 Final
    А если у меня так дело обстоит :) (из этой темы, нужно, чтобы каждое 2 сообщение в теме было с рекламой, каждое второе сообщение, не более)

    Этот вариант не хочет пахать :

    Код:
    <xen:hook name="ad_message_below" />
     
    <xen:if is="!{$visitor.user_id} AND !{$mysupervar}">
     
     
    <li class="message">
        <div class="messageUserInfo">
            <div class="messageUserBlock">
                <div class="avatarHolder">
                    <a class="avatar Av1886m" href="members/Mr.Adv.1886/"><span style="background-image:url('styles/default/xenforo/avatars/avatar_male_m.png')" class="img m"></span></a>
                </div>
                <h3 class="userText">
                    <a class="username" href="members/Mr.Adv.1886/">Mr.Adver</a>
                    <em class="userTitle">Статус</em>
                </h3>
                <span class="arrow"><span></span></span>
            </div>
        </div>
        <div class="messageInfo primaryContent">
            <div class="messageContent">
                <article>
                    <blockquote class="messageText ugc baseHtml">
    <!-- Яндекс.Директ -->
    <script type="text/javascript">
    yandex_partner_id = 74726;
    yandex_site_bg_color = 'FFFFFF';
    yandex_site_charset = 'utf-8';
    yandex_ad_format = 'direct';
    yandex_font_size = 1;
    yandex_direct_type = 'flat';
    yandex_direct_limit = 2;
    yandex_direct_title_font_size = 3;
    yandex_direct_header_bg_color = 'FEEAC7';
    yandex_direct_title_color = '0000CC';
    yandex_direct_url_color = '006600';
    yandex_direct_text_color = '000000';
    yandex_direct_hover_color = '0066FF';
    yandex_direct_favicon = true;
    document.write('<sc'+'ript type="text/javascript" src="http://an.yandex.ru/system/context.js"></sc'+'ript>');
    </script>
                    </blockquote>
                </article>
            </div>
        </div>
    </li>
     
    <xen:set var="$mysupervar">1</xen:set>
    </xen:if>
     
  17. romz

    romz Местный

    Регистрация:
    31.08.11
    Сообщения:
    28
    Симпатии:
    5
    Версия XF:
    1.3.0
    подскажите, как сделать так, чтобы в шаблоне ad_message_body
    рекламный блок отображался значительно ниже самого сообщения и был по центру, по умолчанию он вверху сразу над основным сообщением
     
  18. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    используйте другой шаблон ad_message_below например
     
  19. romz

    romz Местный

    Регистрация:
    31.08.11
    Сообщения:
    28
    Симпатии:
    5
    Версия XF:
    1.3.0
    если использовать этот, то совершенно отвратительно выходит . на вид еще хуже
     
  20. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Можно попробовать вставить напрямую в шаблон "message" хук и использовать его, либо инклуд туда своего шаблона.
    Нужное место тут:
    Код:
            <xen:hook name="message_content" params="{xen:array 'message={$message}'}">
            <div class="messageContent">        
                <article>
                    <blockquote class="messageText ugc baseHtml{xen:if $message.isIgnored, ' ignored'}">
                        <xen:include template="ad_message_body" />
                        {xen:raw $message.messageHtml}
                    </blockquote>
                </article>
                
                {xen:raw $messageContentAfterTemplate}
            </div>
            </xen:hook>
            
            
            <xen:if is="{$visitor.content_show_signature} && {$message.signature}">
                <div class="baseHtml signature ugc{xen:if $message.isIgnored, ' ignored'}"><aside>{xen:raw $message.signatureHtml}</aside></div>
            </xen:if>
    
    Т.е. либо сразу после хука "message_content" (можно и его использовать, дописав необходимое). Либо перед подписью. Внутри самой подписи не всегда получится, так как подпись отображается только при условии, что есть, что отображать.
     
    romz нравится это.

Поделиться этой страницей