Инструкция по созданию сайта на MODx. Урок 19 — Организация поиска по сайту. Сниппет AjaxSearch

Вводное слово

Мы уже настолько привыкли к наличию поискового окна на страницах сайтов, что при необходимости найти какую-нибудь информацию на сайте отсутствие поиска вызывает, по меньшей мере, раздражение. 

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

Некоторые могут возразить: зачем что-то искать у меня на сайте, если и так все аккуратно разбито по разделам и подразделам, при этом можно осуществлять навигацию по меткам, которыми снабжены все публикации на сайте? Это все, как ни крути, не заменит качественный поиск по сайту.

Я часто пользуюсь поиском, в первую очередь тогда, когда хочу найти уже прочитанный мною ранее материал на каком-нибудь сайте, когда точно знаю, что он где-то должен быть, но вспомнить, где именно я его видел, не представляется возможным. В этом случае без поиска придется пролистать большое количество страниц сайта, и это, согласитесь, не самый лучший вариант. Поэтому правильным решением будет реализация поиска на вашем сайте, ведь мы в первую очередь заботимся о комфорте посетителей, не так ли? 

Кстати, вы можете также использовать пользовательский поиск  от Google, который даст посетителям возможность найти необходимый материал на вашем сайте. Мы же в нашем уроке поговорим о встроенном сниппете AjaxSearch для реализации поиска. 

Установка последней версии сниппета AjaxSearch

На момент написания статьи последняя версия этого сниппета 1.9.1. Предустановленная версия сниппета в MODx 1.0.4 только 1.9.0, поэтому  перед началом работы установим последнюю версию.

Внимание: в версии 1.9.x название некоторых параметров сниппета изменились по сравнению с более ранними версиями, поэтому, если у вас установлена версия AjaxSearch 1.8.x и ниже, рекомендую вам обновить его до последней версии. Скачать последнюю версию можно с официального сайта MODx или с сайта автора сниппета.

После того, как вы скачали архив с последней версией сниппета распакуйте его в папку assets/snippets/ajaxSearch предварительно удалив файлы предыдущей версии. Если у вас не был в системе предустановлен сниппет ajaxSearch, то перед тем как переписать файлы необходимо будет создать папку «ajaxSearch».

После переноса файлов необходимо обновить/создать сниппет в системе. Код сниппета лежит в файле «snippet.ajaxSearch.txt», который находится в скачанном архиве. Копируем содержимое этого файла и отправляемся редактировать сниппет AjaxSearch в MODx. Для этого переходим на вкладку: Элементы → Управление элементами → Сниппеты, в списке сниппетов выбираем AjaxSearch (если сниппет не был создан ранее, придется создать новый с этим же именем).

На странице редактирования сниппета помещаем в поле «Код сниппета (php)» скопированный ранее в буфер обмена код из файла «snippet.ajaxSearch.txt».

В поле «Описание» не забудьте указать версию сниппета, чтобы при просмотре списка сниппетов наглядно было видно, какую версию вы используете и требуется ли обновление до более новой.

Вот как должна выглядеть страница редактирования/создания сниппета после внесенных изменений:

Страница редактирования сниппета

На этом мы завершаем обновление/установку AjaxSearch. Теперь у нас установлена последняя версия — AjaxSearch 1.9.1.

Основные параметры сниппета AjaxSearch

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

Сниппет может работать в двух принципиально отличающихся друг от друга режимах:

  • Без использования Ajax 
  • С использованием Ajax

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

Основные параметры AjaxSearch, которые используются при вызове сниппета:

  • &ajaxSearch — параметр указывает, использовать ли Ajax в работе сниппета.
    Возможные значения: 1 - использовать | 0 -  не использовать;
    Значение по умолчанию: 1. 
  • &landingPage — этот параметр передает ID страницы, на которой будет реализован вывод результатов поиска в режиме без Ajax (&ajaxSearch=`0`).
    Возможные значения: ID любого созданного ресурса.  
  • &showInputForm — параметр указывает, отображать ли на странице вызова форму поиска. На странице с результатами, например, форму можно отключить.
    Возможные значения: 0 - не отображать | 1 - отображать;
    Значение по умолчанию: 1. 
  • &showResults — параметр указывает, выводить ли результаты поиска на странице вызова.
    Возможные значения: 0 - не выводить| 1 - выводить;
    Значение по умолчанию: 1.
  • &output — параметр, с помощью которого можно включить пользовательский вывод. Если установлен в «1», то для вывода формы поиска и результатов можно использовать плейсхолдеры [+as.inputForm+] и [+as.results+] соответственно.
    Возможные значения: 0 - стандартный вывод, когда результаты отображаются под формой поиска | 1 - пользовательский вывод с использованием плейсхолдеров [+as.inputForm+] и [+as.results+];
    Значение по умолчанию: 0. 
  • &category — с помощью этого параметра можно реализовать в AjaxSearch вывод результатов по категориям. Для этого необходимо создать для ресурсов TV параметр, который будет хранить названия категорий. При вызове в этом параметре сниппета вписать название TV параметра, который будет использован в качестве категорий.
    Возможные значения: любое корректное имя TV параметра.
  • &grabMax — количество результатов поиска на странице в режиме без Ajax (&ajaxSearch=`0`) и для страниц со всеми результатами поиска в режиме с Ajax (&ajaxSearch=`1`).
    Возможные значения: целое число больше «0»;
    Значение по умолчанию: 6. 
  • &ajaxMax — количество отображаемых результатов без перезагрузки страницы для поиска с Ajax (&ajaxSearch=`1`).
    Возможные значения: целое число;
    Значение по умолчанию: 6. 
  • &asId —  уникальный идентификатор сниппета, необходим при многократном (более одного) вызове AjaxSearch на одной странице.
    Возможное значение этого параметра может состоять из: латинских букв, цифр, знака подчеркивания. 
  • &pagingType — параметр указывает, какой тип разбиения на страницы  использовать при выводе результатов.
    Возможные значения: 0 -  список ссылок на страницы | 1 - для навигации по страницам с результатами поиска используются ссылки «дальше» и «назад» | 2 - отображение результатов со ссылкой «Показать еще 10 результатов».
    Значение по умолчанию: 1;
    Примечание: значение «0» используется только для поиска без Ajax (&ajaxSearch=`0`); значение 2 используется только в режиме с Ajax (&ajaxSearch=`1`).
  • &moreResultsPage — параметр указывает ID страницы на которой будет вывод всех результатов поиска в режиме с Ajax (&ajaxSearch=`1`). На эту страницу будет вести ссылка «Посмотреть все результаты».
  • &showMoreResults — параметр указывает, отображать ли ссылку на страницу со всеми результатами поиска в режиме с технологией Ajax (&ajaxSearch=`1`).
    Возможные значения: 0 - не показывать | 1 - показывать;
    Значение по умолчанию: 0.
  • &parents — в параметре через запятую указываются ID папок в дочерних ресурсах которых необходимо осуществлять поиск, либо список ID папок, дочерние ресурсы которых не доступны для поиска.
    Возможные значения: список ID ресурсов, разделенных запятыми.
    Пример использования: конструкция &parents=`in:28,29` означает, что поиск необходимо осуществлять только в дочерних ресурсах для папок с идентификаторами 28 и 29. А конструкция &parents=`not in:28,29`означает, что поиск осуществляется по всем документам исключая дочерние ресурсы папок с идентификаторами 28 и 29.
  • &documents — в параметре через запятую указываются ID документов, в которых необходимо осуществлять поиск, либо наоборот, которые необходимо исключить из поиска.
    Возможные значения: список ID ресурсов, разделенных запятыми.
    Пример использования: конструкция &documents=`in:28,29` означает, что поиск необходимо осуществлять только в ресурсах с идентификаторами 28 и 29. А конструкция &documents=`not in:28,29`означает, что поиск осуществляется по всем ресурсам исключая ресурсы с идентификаторами 28 и 29.
  • &maxWords — максимальное количество слов для поиска.
    Оптимальное число: от 1 до 10 слов.
  • &minChars — минимальное количество символов для поиска.
    Значение по умолчанию: 3. 

Это список основных параметров, но полный перечень параметров сниппета гораздо больше. Чтобы познакомиться со всеми доступными параметрами, вы можете посмотреть файл с документацией AjaxSearch191_v1.pdf, лежащий в скачанном архиве в папке ajaxSearch/documentation.

Демонстрация сниппета  AjaxSearch

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

Чтобы вы лучше поняли работу, рассмотрим несколько примеров реализации поиска на сайте с помощью AjaxSearch.  Хочу также отметить, что в уроке мы не будем приводить все возможные варианты работы вызова AjaxSearch, но вы должны понимать, что его функционал гораздо шире.

Вызов сниппета в режиме без Ajax

1. Простой вызов с результатами поиска на странице с формой

[!AjaxSearch? &ajaxSearch=`0`!

Результаты поиска отобразятся после перезагрузки страницы на той же странице, что и форма поиска. Чтобы увидеть вывод результатов, введите  в форму поиска одно из этих слов: «rock», «mus» или «san».

Обратите внимание на наличие вспомогательного сообщения «Please enter a search term to begin your search». Эта фраза берется из языкового файла сниппета, который лежит в папке ajaxSearch/lang. Выбор языкового файла определяется автоматически, исходя из установленного в системе языка по умолчанию. В случае с создаваемым нами сайтом все фразы будут переведены на русский язык, так как в системе управления по умолчанию установлен язык russian-UTF8. Вспомогательное сообщение в русском варианте будет иметь приблизительно следующий вид «Введите ваш запрос для начала поиска».

2. Вызов без вспомогательного сообщения

[!AjaxSearch? &ajaxSearch=`0` &showIntro=`0`!]

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

Обратите внимание на вид постраничного разбиения результатов поиска. По умолчанию навигация по страницам с результатами имеет следующий вид:  «назад» x - y / z  «вперед», где x — номер первого показываемого результата на странице; y — номер последнего показываемого результата на странице; z — количество найденных результатов; «назад», «вперед» — ссылки для навигации по страницам поиска.

В следующем примере мы изменим вид навигации по страницам результатов.

3. Вызов с измененным режимом постраничного разбиения результатов

[!AjaxSearch? &ajaxSearch=`0` &pagingType=`0`!]

В этом случае навигация по страницам с результатами представлена в виде ссылок с номерами страниц и имеет следующий вид: «Результаты поиска: 1 | 2 | 3 | 4». 

4. Вызов сниппета с указанием страницы для вывода результатов поиска

В этом случае вы просто создаете ресурс в дереве сайта, на котором делается еще один вызов сниппета AjaxSearch, а ID этого ресурса указывается во время вызова формы поиска в качестве целевой страницы. Таким образом, результаты поиска будут переданы на другую страницу. На странице с результатами можно отключить показ формы поиска.

 

Вызов на странице, где необходимо отобразить форму поиска:

[!AjaxSearch? &ajaxSearch=`0` &landingPage=`3`!]

Вызова сниппета на целевой странице: 

[!AjaxSearch? &ajaxSearch=`0` &showInputForm=`0`!]

5. Пользовательский вывод сниппета

[!AjaxSearch? &ajaxSearch=`0` &output=`1`!]

В этом случае вывод формы поиска и результаты можно выводить с помощью плейсхолдеров [+as.inputForm+] и [+as.results+] соответственно. Вы можете осуществлять вывод формы и результатов поиска отдельно друг от друга абсолютно в любом месте на странице. 

6. Вывод результата поиска по категориям

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

[!AjaxSearch? &category=`articleCategory` &ajaxSearch=`0` &landingPage=`3`!]

Пример вызова на целевой странице с результатами поиска:

[!AjaxSearch? &ajaxSearch=`0` &showInputForm=`0` &grabMax=`4` &category=`articleCategory`!]

При этом вызове результаты будут отображаться  по 4 результата на странице для каждой категории. Созданный TV-параметр для ресурсов в этом случае должен иметь имя articleCategory. 

7. Многократный (более одного) вызов AjaxSearch на одной странице

Для реализации многократного вызова AjaxSearch на одной странице необходимо указывать идентификатор сниппета (параметр &asId).

Например дважды вызов сниппета может выглядеть следующим образом:

[!AjaxSearch? &ajaxSearch=`0` &landingPage=`3`!]

[!AjaxSearch? &asId=`as2` &ajaxSearch=`0` &landingPage=`3`!]

На целевой странице с вызовом результатов необходимо также вызывать сниппет дважды, чтобы отображались результаты того поиска который был осуществлен. Например, для первого сниппета можно сделать обычный вывод, а для сниппета c идентификатором as2 можно вывести результаты с разбиением по категориям.

[!AjaxSearch? &ajaxSearch=`0` &showInputForm=`0` &grabMax=`4`!]

[!AjaxSearch? &ajaxSearch=`0` &showInputForm=`0` &grabMax=`4` &category='articleCategory' &asId=`as2`!]

Вызов сниппета с использованием Ajax

1. Вызов сниппета без постраничного разбиения результатов поиска

[!AjaxSearch? &pagingType=`0` &ajaxMax=`3` &moreResultsPage=`3`!]

При этом вызове у нас будет отображаться 3 результата поиска, ссылка на все результаты будет вести на ресурс с ID=3. В режиме с использованием Ajax значение «0» параметра &pagingType отключает постраничное разбиение.

2. Вызов сниппета с постраничным разбиением результатов поиска в режиме &pagingType=`1`

[!AjaxSearch? &pagingType=`1` &ajaxMax=`3` &moreResultsPage=`3`!]

При этом вызове у нас будет отображаться 3 результата поиска, ссылка на все результаты будет вести на ресурс с ID=3.

3. Вызов сниппета с постраничным разбиением результатов поиска в режиме &pagingType=`2`

[!AjaxSearch? &pagingType=`2` &ajaxMax=`3` &moreResultsPage=`3`!]

Пример вызова с ниппета с постраничным разбиением в режиме &pagingType=`2`. При этом вызове у нас будет отображаться 3 результата поиска, ссылка на все результаты будет вести на ресурс с ID=3. 

4. Пользовательский вызов сниппета

[!AjaxSearch? &output=`1`!]

В этом вызове сниппета для вывода формы поиска и блока с результатами необходимо использовать плейсхолдеры [+as.inputForm+] и [+as.results+].

5. Многократный вызов сниппета в режиме Ajax

Для возможности многократного вызова сниппета AjaxSearch так же, как и в режиме без Ajax, необходимо использовать идентификатор сниппета (параметр &asId).

[!AjaxSearch? &showMoreResults=`1` &moreResultsPage=`3` &ajaxMax=`4` &pagingType=`2`!]

[!AjaxSearch? &showMoreResults=`1` &moreResultsPage=`3` &ajaxMax=`4` &pagingType=`2` &asId=`as2`!]

Реализация поиска вMODx с помощью AjaxSearch

Теперь, когда вы ознакомились с основными параметрами сниппета и посмотрели его в действии, мы переходим к самому интересному — реализации поиска на создаваемом во время уроков сайте.

Изначально в выбранном нами шаблоне не было предусмотрено наличие поиска по сайту. Поэтому мы сами добавим его на страницу. Чтобы гармонично вписать форму поиска в шаблон, и чтобы она отображалась на всех страницах создаваемого сайта, давайте поместим ее внизу страницы в футере сайта.
В футере сейчас находится три колонки с блоками различной информации. Давайте их преобразуем таким образом, чтобы в первой колонке была краткая информация о нашем сайте, во второй колонке контактная информация, а в третью колонку поместим форму поиска.

Если вы помните, когда мы разбивали шаблон на чанки, мы поместили нижнюю часть в чанк с именем FOOTER. Отправляемся его редактировать.

Сейчас там находится следующая HTML разметка:

Уберем контейнер с миниатюрами фотографий с классом  flickrbox и скопируем на его место еще один контейнер с классом "contactdetails". Заодно наполним каждый из блоков подходящей по смыслу информацией. 

Пример этого блока:

<div class="wrapper col4">
  <div id="footer">
    <div class="box1">
      <h2>Несколько слов о компании</h2>
    <img class="imgl" src="/assets/templates/site/images/demo/imgl.gif" alt="" />
      <p>Несколько слов о компании на главной странице. Можно написать о всех достижениях. Так же в этом блоке вы можете дать <a href="#">ссылку</a> на страницу с полной информацией о вашей фирме.</p>
  <p>В общем, в этом блоке будет важная информация кратко описывающая чем занимается ваша фирма.</p>
    </div>
   <div class="box contactdetails">
     <h2>Поиск по сайту</h2>

      </div> 
   <div class="box contactdetails">
      <h2>Контактная информация</h2>
<p>Вы можете связаться с нами любым удобным для Вас способом.</p>
<p>Наши менеджеры обязательно свяжутся с вами в ближайшее время.</p>            
<ul>
        <li><strong>Сайт:</strong> efimov.ws</li>
        <li><strong>ICQ:</strong> 3-695-058</li>
        <li><strong>Skype:</strong> all_ximik</li>
        <li class="last"><strong>Email:</strong> allximik1@gmail.com</li>
      </ul>
    </div>
 
    </div>
    <br class="clear" />
  </div>
</div>

<div class="wrapper col5">
  <div id="copyright">
    <p class="fl_left">Copyright &copy; 2010 - All Rights Reserved - <a href="#">Domain Name</a></p>
    <p class="fl_right">Template by <a href="http://www.os-templates.com/" title="Open Source Templates">OS Templates</a></p>
    <br class="clear" />
  </div>
</div>

Информацию в каждом из блоков вы можете разместить какую угодно. 

После внесенных изменений внешний вид футера сайта будет следующим:

Футер

Как вы видите, пустым остался только блок, в котором будет находиться поиск по сайту.  Сейчас мы это исправим. Находим этот блок в HTML разметке и помещаем в него вызов сниппета AjaxSearch. Пока можно самый простой вызов, без передачи дополнительных параметров

[!AjaxSearch!]

Вот как будет выглядеть после этого код блока поиска в футере:

<div class="box contactdetails">
<h2>Поиск по сайту</h2>
[!AjaxSearch!]
</div>

Внимание: измените кодировку файла assets/snippets/ajaxSearch/lang/russian-UTF8.inc.php на UTF-8. Иначе в режиме с Ajax вместо читаемого русского текста будут отображаться «кракозяблы», которые указывают на проблемы с кодировкой.

Изменение кодировки для языкового файла

Если не хотите менять кодировку самостоятельно, можете скачать уже исправленный языковой файл и поместить его в указанную выше директорию.

Отправляемся смотреть результат работы сниппета. 

Форма поиска

По умолчанию сниппет будет работать в режиме с Ajax, т.е. результаты будут отображаться без перезагрузки страницы там же, где и форма поиска. Можете проверить это, вписав в форму поиска слово, встречающееся у вас на сайте.

Сейчас давайте сделаем так, чтобы результаты поиска отображались на другой странице. Для этого сначала необходимо создать новый ресурс в дереве сайта с именем, например, «Результаты поиска» с шаблоном «2 колонки». При создании ресурса на вкладке «Общие» уберите галочку «Показывать в меню», а на вкладке «Настройка страницы» уберите галочки «Доступен для поиска» и «Кэшируемый».

В область содержимого созданного ресурса помещаем еще один вызов сниппета AjaxSearch:

[!AjaxSearch? &ajaxSearch=`0` &pagingType=`0` &showInputForm=`0` !]

Теперь при вызове сниппета в футере добавим параметр, указывающий ID целевой страницы. В итоге конструкция вызова сниппета в футере сайта примет следующий вид:

<div class="box contactdetails">
<h2>Поиск по сайту</h2>
[!AjaxSearch? &ajaxSearch=`0`  &landingPage=`27`&showResults=`0`!]
</div>

Результаты поиска будут отображаться на странице с ID=27 (у вас идентификатор страницы может отличаться). При большом количестве результатов поиска они будут разбиты на страницы. По умолчанию отображается по 6 результатов на странице, но вы легко сможете изменить это число с помощью параметра &grabMax.

Страница с результатами поиска выглядит следующим образом:

Страница с результатами поиска

Все русскоязычные словосочетания, используемые при работе сниппета, вы можете изменить по вашему усмотрению в языковом файле  assets/snippets/ajaxSearch/lang/russian-UTF8.inc.php. Не забывайте при изменении файла проверить, чтобы у него осталась кодировка UTF-8.

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

Отправляемся редактировать файл:  assets/templates/site/styles/layout.css

Добавляем следующие строки:

/* ----------------------------------------------AjaxSearch-------------------------------------*/

#ajaxSearch_form{ padding:0px; margin:0px;} /*убираем отступы в форме поиска*/
#ajaxSearch_submit{background-color:#95AD19; color:#FFF; font-weight:bold; padding:2px;}/*фон кнопки, стили для текста написанного на кнопке*/
#ajaxSearch_input{color:#666; border:1px solid #999999; padding:3px;} /*стиль для поля ввода.*/
.ajaxSearch_result { border:1px dotted #eee; padding:5px 10px; margin:0px;}/*стиль для вывода результата*/
.ajaxSearch_highlight {background-color:#b2c629; color:#FFFFFF} /*выделение искомого слова фоном*/
.ajaxSearch_grpResultName{ font-weight:bold; }
.ajaxSearch_resultLink{ font-size:1.1em; font-weight:bold; text-decoration:underline;} /*стиль для ссылки с результатом*/
.ajaxSearch_paging { display:block; padding:10px 0;}/*стиль для блока с постраничной навигацией на странице с результатами*/
.ajaxSearch_paging .ajaxSearch_currentPage{color:#fff; background-color:#B2C629; border:1px solid #6f7b1a; padding: 1px 3px; font-weight:bold; margin:2px;} /*стиль для номера текущей страницы с результатами поиска*/
#ajaxSearch_intro{} /*cтиль для строчки "Введите ваш запрос для начала поиска". Пока пусто, можете прописать ваши стили*/

После этого форма поиска будет иметь следующий вид:

Форма поиска после добавления стилей поиска

А страница с результатами будет следующего вида:

Форма поиска после добавления стилей поиска

Помимо текста и  стилевого оформления формы поиска и страницы с результатами вы также можете настроить под свои нужды шаблоны AjaxSearch. Шаблоны лежат в папке assets/snippets/ajaxSearch/templates, и, при необходимости, вы сможете их редактировать.

В завершение, чтобы в футере в столбце с формой поиска не было много пустого места, давайте поместим в нем какой-нибудь текст, например, добавим ссылку на карту сайта. Пока еще страницы с картой сайта у нас нет, но мы ее создадим в следующем уроке, и тогда изменим адрес этой ссылки.

Чанк FOOTER в конечном итоге должен содержать в себе следующую разметку:

<div class="wrapper col4">
<div id="footer">

<div class="box1">
<h2>Несколько слов о компании</h2>
<img class="imgl" src="/assets/templates/site/images/demo/imgl.gif" alt="" />
<p>Несколько слов о компании на главной странице. Можно написать о всех достижениях. Так же в этом блоке вы можете дать <a href="#">ссылку</a> на страницу с полной информацией о вашей фирме.</p>
<p>В общем, в этом блоке будет важная информация, кратко описывающая чем занимается ваша фирма.
</p>
</div>

<div class="box contactdetails">
<h2>Поиск по сайту</h2>
[!AjaxSearch? &ajaxSearch=`0` &landingPage=`27` &showResults=`0` !]
<p>Также для поиска информации на сайте Вы можете воспользоваться <a href="#">картой сайта</a>.</p>
</div> 

<div class="box contactdetails">
<h2>Контактная информация</h2>
<p>Вы можете связаться с нами любым удобным для Вас способом.</p>
<p>Наши менеджеры обязательно ответят Вам в ближайшее время.</p>
<ul> <li><strong>Сайт:</strong> efimov.ws</li> <li><strong>ICQ:</strong> 3-695-058</li> <li><strong>Skype:</strong> all_ximik</li> <li class="last"><strong>Email:</strong> allximik1@gmail.com</li> </ul>
</div>

</div>
<br class="clear" />
</div>
</div>

<div class="wrapper col5">
<div id="copyright">
<p class="fl_left">Copyright &copy; 2010 - All Rights Reserved - <a href="#">Domain Name</a></p>
<p class="fl_right">Template by <a href="http://www.os-templates.com/" title="Open Source Templates">OS Templates</a></p>
<br class="clear" />
</div>
</div>

При создании сайта вам останется только изменить информацию в этом чанке, заполнив его своими данными.

На этом мы заканчиваем наш урок, который получился довольно объемный. В следующем уроке мы создадим карту сайта.

В сегодняшнем уроке мы создали и изменили следующие файлы и чанки:

Все описанные в этом уроке действия вы можете посмотреть в видео-уроке.

Видео урок: реализация поиска в MODx с помощью AjaxSearch

Видео-урок: реализация поиска по сайту с помощью AjaxSearch

Размер: 4.4 мб. Длительность: 3.4 минуты

Продолжение урока: Вывод изображения, прикрепленного с помощью TV параметра, в результатах поиска AjaxSearch

Автор: Ефимов Виктор

Подпишитесь на обновления в блоге. Спасибо.

Вы можете также посмотреть другие уроки по созданию сайта на MODx:

22.11.2010
top


blog comments powered by Disqus