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

Как прицепить внешний php-файл?

Тема в разделе "Вопросы и ответы по XenForo Framework", создана пользователем GeN4uk, 18.10.2011.

Загрузка
  1. GeN4uk

    GeN4uk Активный пользователь

    Регистрация:
    16.10.11
    Сообщения:
    10
    Симпатии:
    0
    Собственно нужно с лок серва передавать инфу на хост, раньше делал череза фрейм, сейчас после таких манипуляций пишет следующее при заходе на форум:
    Безымянный.png
    Подскажите как с этим боротся ? :)
     
  2. Mr. Brightside

    Mr. Brightside Read only

    Регистрация:
    17.02.11
    Сообщения:
    156
    Симпатии:
    58
  3. Desperado

    Desperado Местный

    Регистрация:
    23.10.10
    Сообщения:
    270
    Симпатии:
    98
    Версия XF:
    1.1.3
    Нет) это не правильно)
    Но довольно просто.
     
  4. Mr. Brightside

    Mr. Brightside Read only

    Регистрация:
    17.02.11
    Сообщения:
    156
    Симпатии:
    58
    Хм... Я с удовольствием взглянул бы на правильную реализацию. Мне показалось, что так быстрее и все каноны соблюдаются
     
    GeN4uk нравится это.
  5. Desperado

    Desperado Местный

    Регистрация:
    23.10.10
    Сообщения:
    270
    Симпатии:
    98
    Версия XF:
    1.1.3
    Быстрее - несомненно.
    С соблюдением всех правил - нет. MVC...
    Честно? Я и сам не любитель велосипедов. Вообще использую для подгрузки блоков (они у меня все динамически обовляются раз в надцать секунд) использую jQuery Timers и горя не знаю.
    А страницы создаю с помощью хака Katomi

    Это так, к слову о правильности. Правильно - это не просто "работает".
     
    Mr. Brightside, Yoskaldyr и GeN4uk нравится это.
  6. Mr. Brightside

    Mr. Brightside Read only

    Регистрация:
    17.02.11
    Сообщения:
    156
    Симпатии:
    58
    Так тут и соль в том, чтобы в ереси движка не разбираться. Я знаю, что тут много фанатов правильно, подразумевающего написать полноценный аддон. Речь о том, что делать человеку, который не горит желанием фреймворки изучать. И это самый простой способ, который я видел.
    А можно поподробнее про этот момент?
     
  7. Desperado

    Desperado Местный

    Регистрация:
    23.10.10
    Сообщения:
    270
    Симпатии:
    98
    Версия XF:
    1.1.3
    Почему нет)
    Допустим, у нас есть некий php файлик.

    PHP:
    <?php

    $SzResult 
    'content';

    echo 
    '<p>' $SzResult '</p>';
    ?>
    (на самом деле, думаю, понятно, что тут может быть что угодно. И никто не запрещает использовать кеширование (в случае работы с базами данных), чтобы не устроить себе ахтунг).

    и нам надо вывести его, ну скажем, в сайдбар.

    1. Качаем http://plugins.jquery.com/node/3656/release
    2. Закидываем в папочку js/jquery
    3. В место, куда хотите вставить содержимое вышеозначенного файла (например, в сайдбар) вставить:

    HTML:
    <script type="text/javascript" src="./js/jquery/jquery.timers.js"/>
    <script type="text/javascript">
        $(document).ready(function() {
        $("#some_content").load('./наш_файл.php').everyTime(5000,'controlled', function(i) {
        $(this).load('./наш_файл.php');
        });
    });
    <div id="some_content"></div>
    
    Профит.. время в миллисекундах можете указать любое.
    Ровно как и пути, ровно как и "технология" по которой вы будете контент забирать: будь то прямой вызов пхп файла, либо вызов, например, текстового файла, созданного им по крону. Как уже говорил выше - всё в пределах фантазии.

    P.S. не так элегантно, как хотелось бы, но чёрт побери, это работает :) И занимает всего 5 минут времени)
     
    KakBeOlolo, Mr. Brightside, theaqua и 2 другим нравится это.
  8. Димка

    Димка Местный

    Регистрация:
    05.04.12
    Сообщения:
    15
    Симпатии:
    0
    Версия XF:
    1.1.2
    Может вопрос нубского характера)
    А сработает ли если в сам php файл вписать переменную которая используется в Xenforo, а именно {$visitor.username} ???
    Если нет, то как можно будет ее передать?
     
  9. KakBeOlolo

    KakBeOlolo Местный

    Регистрация:
    08.10.11
    Сообщения:
    510
    Симпатии:
    93
    Версия XF:
    1.1.2
    Вот еще 1 нубский вопрос, что и как там скачать? :eek:

    ____________

    Update

    Скачал с постороннего сайта
     
  10. Desperado

    Desperado Местный

    Регистрация:
    23.10.10
    Сообщения:
    270
    Симпатии:
    98
    Версия XF:
    1.1.3
    Нет, не сработает.
    Как вписать, вот так сходу вам объяснить не смогу... Ибо совершенной иной способ необходимо применять, нежели описанный мною.
     
  11. Димка

    Димка Местный

    Регистрация:
    05.04.12
    Сообщения:
    15
    Симпатии:
    0
    Версия XF:
    1.1.2
    Если же такой способ есть, то подтолкните на хотя бы минимальную подсказку.
    По сути в любой или почти любой java скрипт можно передавать разного рода параметры.
    Мне же нужно передать лишь один, это никнейм пользователя.
     
  12. Desperado

    Desperado Местный

    Регистрация:
    23.10.10
    Сообщения:
    270
    Симпатии:
    98
    Версия XF:
    1.1.3
    ну можете аяксом передать из шаблона, если возиться с подключением лень

    http://api.jquery.com/jQuery.ajax/
     
  13. Barbos

    Barbos Местный

    Регистрация:
    14.04.12
    Сообщения:
    115
    Симпатии:
    143
    Версия XF:
    1.1.2
    ну так поменяй
    Код:
    $("#some_content").load('./наш_файл.php').everyTime(5000,'controlled', function(i) {
    на что то такое
    Код:
    $("#some_content").load('./наш_файл.php&user={$visitor.username}').everyTime(5000,'controlled', function(i) {
    ну а в пхп формируй ответ в зависимости от параметра user
     
  14. Desperado

    Desperado Местный

    Регистрация:
    23.10.10
    Сообщения:
    270
    Симпатии:
    98
    Версия XF:
    1.1.3
    не думаю, что ему нужно себе устраивать обновления каждые 5 секунд :)
    Проще аяксом подгрузить и всё.
     
    Димка нравится это.
  15. Barbos

    Barbos Местный

    Регистрация:
    14.04.12
    Сообщения:
    115
    Симпатии:
    143
    Версия XF:
    1.1.2
    Desperado, аа, так то я взял строку из 7го сообщения, в аяксе я дерево..
     
  16. Desperado

    Desperado Местный

    Регистрация:
    23.10.10
    Сообщения:
    270
    Симпатии:
    98
    Версия XF:
    1.1.3
    Оно-то прокатит, но чую товарищ устроит себе мини-дос)
     
  17. Barbos

    Barbos Местный

    Регистрация:
    14.04.12
    Сообщения:
    115
    Симпатии:
    143
    Версия XF:
    1.1.2
    ну претензии не ко мне, а к автору кода... ой, это ж ты... гг ))
     
  18. Desperado

    Desperado Местный

    Регистрация:
    23.10.10
    Сообщения:
    270
    Симпатии:
    98
    Версия XF:
    1.1.3
    ;) у кода немного другое предназначение)
     
    Димка нравится это.
  19. Димка

    Димка Местный

    Регистрация:
    05.04.12
    Сообщения:
    15
    Симпатии:
    0
    Версия XF:
    1.1.2
    Большое спасибо на наводку :)

    Вышло вот такое чудо
    PHP:
        <form id="myForm">
        <
    input id="username" type="hidden" value="{$visitor.username}">
        </
    form>
        <
    div id="ololowka"></div>
     
        <
    script>
     
            function 
    show()
            {
                $.
    ajax({
                    
    type"POST",
                    
    url"greetings.php",
                    
    data"username="+$("#username").val(),
                    
    cachefalse,
                    
    success: function(html){
                        $(
    "#ololowka").html(html);
                    }
                });
            }
     
            $(
    document).ready(function(){
                
    show();
            });                 
        
    </script>
    Это именно то что было нужно :thumbsup:
    Моей радости нет предела ^_^
     
  20. Hafner

    Hafner Местный

    Регистрация:
    07.10.10
    Сообщения:
    55
    Симпатии:
    98
    Версия XF:
    1.1.1
    Код:
    cache: false
    Это лишнее, post-запросы всегда не кешируются.
     
    Димка нравится это.

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