Ajax Nodeloader F.A.Q.

13.06.2012
  1. Q. Модуль показывает только заголовок/сломан/не работает и т.д. Что я могу сделать?

    A. Для начала, убедитесь, что вы используете последнюю версию модуля.  Ajax Nodeloader находится в активной разработке и время от времени получает новые возможности и исправления.

    Также, пока Ajax Nodeloader является экспериментальным проектом, вы должны устанавливать его вручную (самостоятельно загрузив и распаковав модуль), вместо установки через панель администрирования Drupal. См. http://drupal.org/node/1609058 (en)

    Если ничего не помогает, создайте детальное описание проблемы с помощью http://drupal.org/node/add/project-issue/1447152 (en) или напишите в комментариях здесь, в блоге.

  2. Q. Модуль не работает, но изображение загрузки показывается (и не пропадает).

    A. Проверьте, что ваши ссылки открываются и работают без добавленного класса «nodeloader» и пусть ссылки — правильный.

    Также, URL вашей ссылки должен быть абсолютным и начинаться с «/», например: «/node/1″ или «/contacts», но не с «http://yoursite.name» или пути к внешнему сайту.

  3. Q. Модуль добавляет лишние слова в URL, напрмер: базовый адрес сайта http://localhost/sitename/en, и адрес ссылки: http://localhost/sitename/en/content/blahblah. Модуль добавляет http://localhost/sitename/en#/sitename/en/content/blahblah

    A. Ajax Nodeloader только сохраняет содержимое атрибута «href» вашей ссылки в хэш-тэге, для того, чтобы пользователи могли делиться вашими AJAX-ссылками. Так что, если вы указали адрес как  «/sitename/en/content/blahblah» он будет сохранен в хэш-тэге.

  4. Q. Как поменять изображение загрузчика на мое собственное? Нужно ли редактировать код модуля?

    A. Для того, чтобы поменять изображение загрузчика, вы должны переопределить css в css-файле вашей темы, например:

    /* ajax nodeloader image */
    div#ajax-nodeloader-image {
      background: #fff url(../images/your-loader.gif) no-repeat center center!important;
    }

    Также, вы можете переопределить позицию и размер изображения загрузчика. Например, следующий код устанавливает положение изображение размером 128х128 px по центру страницы, показывает его в прямоугольнике с белым фоном и скругленными углами (углы кроме iE):

    /* ajax nodeloader image */
    div#ajax-nodeloader-image {
      background: #fff url(../images/your-loader.gif) no-repeat center center!important;
      border: 2px solid #B3B5B7;
      width: 128px!important;
      height: 128px!important;
      position: fixed;
      left: 50%!important;
      top: 50%!important;
      margin: -64px 0px 0px -64px;
      -moz-border-radius: 10px;
      -webkit-border-radius: 10px;
      -khtml-border-radius: 10px;
      border-radius: 10px;
    }
    

    Следующий пример позволит вам показывать изображение загрузчика непосредственно рядом с ссылкой. Для этого добавьте следующую функцию в *.js файл вашей темы:

    /* Your theme JS file. */
    (function ($) {
      /* Here is document ready event. */
      $(document).ready(function() {
        // Delegate move loader function to all links:
        $(document).delegate('a','click',function() {
          var offset = $(this).offset();
          $('#nodeloader-ajax-image').css('top', offset.top+$(this).outerHeight());
          $('#nodeloader-ajax-image').css('left',   offset.left);
        });
      });
    })(jQuery);
    

Метки: ,

6 комментариев на “Ajax Nodeloader F.A.Q.”

  1. ish:

    Q. Модуль не работает, но изображение загрузки показывается (и не пропадает).

    привел ссылки к виду «/galereya» «/articles» и т.д, добавил к ним class=»nodeloader» но все равно загрузка не идет, только изображение загрузки крутится (drupal7) пробовал вид ссылок «/drupal/galereya» «/drupal/articles» так как тестирую на денвере — то же самое

    • Nick Denry:

      Проверяйте, что показывает сайт с установленным модулем по адресу:

      http://< адрес-сайта>/ajax_nodeloader/< адрес ссылки>, где адрес ссылки может быть «galereya» либо «node/1″, т.е., например:
      http://< адрес-сайта>/ajax_nodeloader/node/1.

      Если страница выдает ошибку http, то скорее всего, проблема в конфигурации вашего сервера (например, сайт использует в качестве имени http://localhost и адрес http://localhost/ajax_nodeloader/node/1 выдает ошибку, т.к. «поддиректория» /ajax_nodeloader/ находится вне «document root».

      Видео, как можно посмотреть код ответа с помощью firebug:

      http://www.youtube.com/watch?v=mQ1feguPqkI&feature=youtu.be

      По возможности, укажите адрес сайта, на котором это происходит.

      • ish:

        скорее всего дело в том что тестирую на локальной версии в денвере- там главная страница находится по адресу http://localhost/drupal

        поэтому http://localhost/ajax_nodeloader/galereya дает «The requested URL /ajax_nodeloader/galereya was not found on this server.»

        а http://localhost/drupal/ajax_nodeloader/galereya выдает:
        {«nid»:»6″, «title»:»Галерея наших работ», «fields»:{«media_gallery_media»:»", «media_gallery_format»:»Показывать медиа в lightbox», «media_gallery_lightbox_extras»:»Не показывать название и описание», «media_gallery_columns»:»5″, «media_gallery_rows»:»6″, «media_gallery_image_info_where»:»Показывать заголовок при наведении мыши», «media_gallery_allow_download»:»Не позволять скачивать исходное изображение.», «media_gallery_expose_block»:»Создать блок последних добавленных медиа», «media_gallery_block_columns»:»2″, «media_gallery_block_rows»:»4″, «media_gallery_collection»:»\u003Ca href=\u0022\u002Fdrupal\u002Fgallery-collections\u0022 typeof=\u0022skos:Concept\u0022 property=\u0022rdfs:label skos:prefLabel\u0022\u003E.\u003C\u002Fa\u003E»}}

        а http://localhost/drupal/ajax_nodeloader/articles выдает «false»

        наверное на основном сайте будет работать, потом как-нибудь проверю. надеюсь в следующих версиях сделаете чтобы и на локальных машинах работало

        • ish:

          а еще сам друпал такие ошибки выдает:
          Notice: Undefined offset: 1 в функции ajax_nodeloader_load_node() (строка 125 в файле W:\home\localhost\www\drupal\sites\all\modules\Ajax-Nodeloader\ajax_nodeloader.module).
          Notice: Undefined variable: node в функции ajax_nodeloader_load_node() (строка 136 в файле W:\home\localhost\www\drupal\sites\all\modules\Ajax-Nodeloader\ajax_nodeloader.module).

        • Nick Denry:

          надеюсь в следующих версиях сделаете чтобы и на локальных машинах работало

          Это не проблема модуля, а проблема настройки вашего сервера. Сделайте так, чтобы адрес http://localhost/ajax_nodeloader/galereya обрабатывался сервером (денвером) корректно, и модуль будет работать. Простейшее решение — сделать сайт на тестовом именованном домене, например:

          http://mytestsite.ru

          Прочитайте раздел «Работа с виртуальными хостами» на сайте денвера, там описано, как это сделать: http://www.denwer.ru/base.html

          а еще сам друпал такие ошибки выдает:

          В данном случае это, скорее всего, результат тестирования вами различных работающих и не работающих адресов модуля.

          • ish:

            я вас понял по поводу того как сделать чтобы работало, просто хотел сказать что было бы здорово, если бы в будущем модуль научился работать на по-разному настроеных серверах (если это технически возможно)
            и спасибо за модуль и за ваши ответы. успехов вам :)

Оставить комментарий

CAPTCHA изображение