2013-04-18 2 views
2

Есть ли способ иметь собственную форму поиска, которая индексирует результаты поиска в Docpad. Пример динамической страницы поиска не работает, и просмотр кода не помог мне. Я думаю, что пример формы поиска и базовый пример контактной формы были бы хороши для noobs, например, я хотел бы использовать Docpad и его рабочий процесс.Добавление формы поиска на сайт Docpad

Заранее благодарим за любую помощь!

ответ

6

Зависит от того, что вы подразумеваете под тем, что не работает. Могли ли вы скомпоновать скелет Kitchin Sink? Страница поиска в этом скелете считывает термин запроса из URL и ищет все документы на веб-сайте со словом «кофе» в названии

@getCollection('documents').findAll({title:$like:query}) 

Вы должны просто получить список ссылок на документы с «кофе» в их названии - не так уж захватывающе.

Если вы имеете в виду, что пытаетесь реализовать эту страницу поиска в своем собственном проекте, кажется, что у вас есть немного «gotcha», в котором вы должны убедиться, что в ваш проект установлен плагин docpad clean urls.

+0

Спасибо, я проглядел необходимости иметь установлен «чистые URL». – drejohnson

+0

Любые шансы на голосование :) –

+0

Я пробовал, но у меня недостаточно репутации. – drejohnson

3

вы можете передать параметр в URL, как это: http://yoursite.com/search?query=your-query

это код, который делает трюк

### coffee 
layout: 'default' 
title: 'Search Results' 
dynamic: true 
### 

if @req.query.query 
    query = @req.query.query 

    h2 "Searching for #{query}" 

    ul -> 
     for document in @getCollection('documents').findAll({title:$like:query}).toJSON() 
      li 'typeof': 'sioc:Page', about: document.url, class: ('active' if @document.url is document.url), -> 
       a href: document.url, property: 'dc:title', -> 
        text document.title 

else 
    h2 "No query provided" 
Смежные вопросы