Искать  
 
   
 
Используем search:body=
Отправлено: 09 Май 2008 04:14 P.M.   [ Игнорировать ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  1423
Зарегистрирован  2007-12-27

Начиная с версии 1.6.1 в ExpressionEngine появился параметр search:body=

http://expressionengine.com/docs/modules/weblog/parameters.html#par_search
http://eeclub.ru/docs/modules/weblog/parameters.html#par_search

Здесь описан один из вариантов его применения
http://expressionengine.com/forums/viewreply/341394/

{assign_variable:find=”<?php print $search; ?>”}

works, but the variable $search has to be defined first as below.

Update, tried it, works with this, but only coming from the search page as the variable comes from what’s entered:

So first page:

<form action="/index.php/journal/find-it/" method="post">
Look For:
<
br /> <input type="text" id="search" name="search" />
<
input type="submit" name="submit" value="Enter My Data!" />
</
form

result page:

<?php
$search 
$_POST['search'];
?>
Looking 
for <?php print $search?>?
{assign_variable:find="<?php print $search; ?>"}
<p>
{find}<br /> <--- works
Results
:<br />
{exp:weblog:entries weblog="journal"  search:body="{find}"}
<h1>{title}</h1>
{body}
{
/exp:weblog:entries} 

Здесь демо http://www.bkdesign.ca/index.php/journal/find-term/

Это значит, что возможен поиск среди custom fields. Говоря простым языком, у вас есть сайт, где размещены компании, у вас сделаны настраиваемые поля такие как: Кол-во работников, Сколько лет на рынке, Сфера деятельности и прочее.
Задав нужный критерий поиска, можно вывести в результатах соответствующие компании.

 Подпись 

ExpressionEngine - SEO-ориентированный движок

Профиль
 
 
Отправлено: 09 Май 2008 05:56 P.M.   [ Игнорировать ]   [ # 1 ]
Студент
RankRank
Всего сообщений:  73
Зарегистрирован  2008-03-19

У меня почему-то выводит только вводимое слово поиска... а сами записи не отображаются.
Looking for Могилев?

Могилев

{find} - это поле? правильно я понял?

Профиль
 
 
Отправлено: 09 Май 2008 06:06 P.M.   [ Игнорировать ]   [ # 2 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  1423
Зарегистрирован  2007-12-27

здесь в одном шаблоне присваеваем значение переменной search
в другом шаблоне
Looking for <?php print $search; ?>?
{assign_variable:find=”<?php print $search; ?>”}

тоесть переменной find присваевается значение search

дальше этот find учавствует в search:body=”{find}”
body - это custom field

 Подпись 

ExpressionEngine - SEO-ориентированный движок

Профиль
 
 
Отправлено: 09 Май 2008 06:13 P.M.   [ Игнорировать ]   [ # 3 ]
Студент
RankRank
Всего сообщений:  73
Зарегистрирован  2008-03-19

Тоесть

мне нужно написать так...

<?php
$search 
$_POST['search'];
?>
Looking 
for <?php print $search?>?
{assign_variable:find="<?php print $search; ?>"}
<p>
{find}<br /> <--- works
Results
:<br />
{exp:weblog:entries weblog="Мой блог"  search:body="{Мое поле}"}
<h1>{title}</h1>
{body}
{
/exp:weblog:entries} 

Я правильно понял?

Если правильно... то ничего не выводит, кроме того что я писал выше.

И еще попутный вопрос... Как искать сразу по нескольким полям? Если можно то с примером плиз...

Профиль
 
 
Отправлено: 09 Май 2008 06:15 P.M.   [ Игнорировать ]   [ # 4 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  1423
Зарегистрирован  2007-12-27

вместо search:body=”{Мое поле}”}
search:body=”{find}”}

 Подпись 

ExpressionEngine - SEO-ориентированный движок

Профиль
 
 
Отправлено: 09 Май 2008 06:21 P.M.   [ Игнорировать ]   [ # 5 ]
Студент
RankRank
Всего сообщений:  73
Зарегистрирован  2008-03-19

Хорошо, так а по какому custom field оно будет искать? Или по всем?

Профиль
 
 
Отправлено: 09 Май 2008 06:44 P.M.   [ Игнорировать ]   [ # 6 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  1423
Зарегистрирован  2007-12-27

search:body
в custom field под название body

 Подпись 

ExpressionEngine - SEO-ориентированный движок

Профиль