Модернизация поиска

Автор Сообщение

AntKi

Антон Барандыч
#1/26.09.2013 18:18
0

Пользователи

Карма: 0

Здравствуйте!

Нужно добавить к поиску по проектам еще один дропдаун (который создан как экстрополе для проекта). Можно ли это сделать не влезая в дебри программирования?

Спасибо!

Сообщения: 13

Cmsworks

Булат
#2/26.09.2013 18:33
0

Администраторы

Карма: +678

Скорее всего не получится сделать просто, но спасибо за идею. Будем думать как сделать такую возможность в последующих обновлениях.

Сообщения: 2388

AntKi

Антон Барандыч
#3/26.09.2013 18:43
0

Пользователи

Карма: 0

Очень буду ждать! :)
А вообще, где находятся файлы, отвечающие за поиск?

Сообщения: 13

CrazyFreeMan

Ярослав
#4/15.02.2014 23:29
0

Модераторы

Карма: +317

Интересует вопросик. В профиле ползователя сделал экстраполе, теперь нужно добавить возможность поиска по этому полю. Сам пока не разобрался что подправить, если есть решение или вектор работы было б хорошо :)

Сообщения: 1240

soedenitel

#5/17.02.2014 14:34
0

Аватар

Пользователи

Карма: 0

Поддерживаю!

 

Распишите хотя бы в общих чертах, как предполагается с этими экстраполями работать?

 При заведении экстра-поля, если правильно понимаю, создаётся в таблице БД соответствующий атрибут, верно?

 

Сообщения: 1

CrazyFreeMan

Ярослав
#6/25.02.2014 22:25
0

Модераторы

Карма: +317

По зарез нужно реализовать поиск по екстраполям, 

Добавил ФИО и Телефоны теперь хочу сделать поиск по этим полям, нашел 

  206  $sql = $db->query("SELECT user_id, user_name FROM $db_users WHERE user_name IN $touser_sql");

в search.php  но всякие манипуляции типа замены условия никак не отображаются в поисковой выдаче.

В админке поиска есть поле  "Дополнительные поля страниц для поиска, разделенные запятыми:Например page_extra1, page_extra2, page_key"   Вписал туда название экстраполей - получил ошибку. Ужас :) 

Сообщения: 1240

Cmsworks

Булат
#7/26.02.2014 07:54
0

Администраторы

Карма: +678

Поиск по экстраполям в проектах, магазине и портфолио реализовал только что. Кто желает попробовать скачайте и обновите вашу биржу из репозитория 

Созданные экстраполя для фильтра имеют такой формат тэгов: {SEARCH_КОДПОЛЯ},
{SEARCH_КОДПОЛЯ_TITLE} - название поля.

 

Поиск по пользователям тоже буду делать, но позже. 

Сообщения: 2388

CrazyFreeMan

Ярослав
#8/26.02.2014 09:59
0

Модераторы

Карма: +317

Спасибо!!! Сейчас подумаю как можно использовать то что уже есть. Но поиск по юзерам - моя мечта :) 

Сообщения: 1240

Cmsworks

Булат
#9/26.02.2014 11:23
0

Администраторы

Карма: +678

Поиск по экстраполям пока работает не стабильно, поэтому просьба сильно не пинать. Работы над этим вопросом ведутся.

Сообщения: 2388

CrazyFreeMan

Ярослав
#10/28.02.2014 19:40
0

Модераторы

Карма: +317

Что то у меня  не хочет работать никак :)

Создал экстраполе в маркете - status_prod

В файлах добавил поля, добавил товары,

в маркет.лист в форме поиска добавляю 

<tr>
       <td>{SEARCH_STATUS_PROD_TITLE}:</td>
       <td>{SEARCH_STATUS_PROD}</td>
 </tr>

Поля отображаются но выбор для поиска этих параметров никак не влияет, в адресной строке есть &status_prod=Б%2Fу 

Чем могу помочь или что сделать ?

ЗЫ - тестируем пока :)

Сообщения: 1240

Cmsworks

Булат
#11/28.02.2014 19:48
0

Администраторы

Карма: +678

В репозитории я немного корректировал код. Возможно надо еще раз обновить код модулей (projects, market, folio). Попробуйте, потом сообщите как прошло.

Сообщения: 2388

CrazyFreeMan

Ярослав
#12/28.02.2014 21:08
0

Модераторы

Карма: +317

Отлично, работает теперь.

ЗЫ немного может не по теме, по этому экстраполю, сделал его списком Статус  -> "Новое" и "Б/У",  как можно реализовать "сброс" ? только переходом на страницу по новой? т.к. в списке на выбор 2 пункта а параметра и то и то или пустого нет :(

Сообщения: 1240

Zeka

#13/31.03.2014 21:51
0

Аватар

Пользователи

Карма: 0

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

Сообщения: 7

Cmsworks

Булат
#14/01.04.2014 10:42
0

Администраторы

Карма: +678

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

users.tpl в вашей теме.

Сообщения: 2388

Zeka

#15/06.05.2014 14:02
0

Аватар

Пользователи

Карма: 0

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

Сообщения: 7

Cmsworks

Булат
#16/06.05.2014 22:58
0

Администраторы

Карма: +678

#3666 Zeka:

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

К сожалению такого пока нет. Копайте исходники Cotonti в модуле users (файл modules/users/inc/users.main.php), но переделывать лучше путем создания дополнительного плагина.

Сообщения: 2388

vahram-papaxchyan

#17/23.02.2015 13:58
0

Аватар

Пользователи

Карма: 0

как понимаю еще не кто не доработал плагин для поиска екстраполя в модуле юзера?

Сообщения: 6

yarabotane

Victor
#18/17.07.2015 13:30
0

Пользователи

Карма: +93

Создал екстраполе в модуле market select (Куплю,Продам), добавил все теги в шаблоны только вот сам поиск по екстраполю не работает, чтобы я не выбирал. в чем может быть причина?

Сообщения: 336

Cmsworks

Булат
#19/17.07.2015 13:45
0

Администраторы

Карма: +678

#10257 yarabotane:

Создал екстраполе в модуле market select (Куплю,Продам), добавил все теги в шаблоны только вот сам поиск по екстраполю не работает, чтобы я не выбирал. в чем может быть причина?

Проверил, все норм.

Добавлено 2 минуты спустя:

1)Создал экстраполе type для таблицы: flance_market

2) В market.add.tpl прописал:

<tr>
	<td align="right">{PRDADD_FORM_TYPE_TITLE}:</td>
	<td>{PRDADD_FORM_TYPE}</td>
</tr>

3) В market.edit.tpl:

<tr>
	<td align="right">{PRDEDIT_FORM_TYPE_TITLE}:</td>
	<td>{PRDEDIT_FORM_TYPE}</td>
</tr>

4) В фильтре в шаблоне market.list.tpl добавил:

<tr>
	<td>{SEARCH_TYPE_TITLE}:</td>
	<td>{SEARCH_TYPE}</td>
</tr>

 

Сообщения: 2388

yarabotane

Victor
#20/17.07.2015 14:01
0

Пользователи

Карма: +93

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

Сообщения: 336

Cmsworks

Булат
#21/17.07.2015 14:15
0

Администраторы

Карма: +678

#10259 yarabotane:

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

Интересное замечание. Проверю.

Добавлено 2 минуты спустя:

Неа, все работает как надо. 

Сообщения: 2388

cotvar

Александр
#22/22.09.2015 15:09
+4

Пользователи

Карма: +53

Не знаю, может у меня это только такое...

В последней версии сборки (2.6.9) не работал поиск по экстраполям в projects.list.php.

Заменил код в указанном файле

foreach ($cot_extrafields[$db_projects] as $exfld)
{
	$fld_value = cot_import($exfld['field_name'], 'G', 'TXT');
	$fld_value = $db->prep($fld_value);
	
	if(!empty($shfld[$exfld['field_name']]))
	{
		$where[$exfld['field_name']] = "item_".$exfld['field_name']." LIKE '%".$fld_value."%'";
	}
}

на

foreach ($cot_extrafields[$db_projects] as $exfld)
{
	$shfld[$exfld['field_name']] = cot_import_extrafields($exfld['field_name'], $exfld, 'G', $shfld[$exfld['field_name']]);
	
	if(!empty($shfld[$exfld['field_name']]))
	{
		$where[$exfld['field_name']] = "item_".$exfld['field_name']." LIKE '%".$shfld[$exfld['field_name']]."%'";
	}
}

Теперь, вроде, все в порядке.

Сообщения: 141

Konsyltant

Михаил
#23/19.12.2015 07:47
+1

Пользователи

Карма: +6

По аналогии исправил в market.list.php

foreach ($cot_extrafields[$db_market] as $exfld)
{
	$fld_value = cot_import($exfld['field_name'], 'G', 'TXT');
	$fld_value = $db->prep($fld_value);
	
	if(!empty($shfld[$exfld['field_name']]))
	{
		$where[$exfld['field_name']] = "item_".$exfld['field_name']." LIKE '%".$fld_value."%'";
	}
}

на 

foreach ($cot_extrafields[$db_market] as $exfld)
{
    $shfld[$exfld['field_name']] = cot_import_extrafields($exfld['field_name'], $exfld, 'G', $shfld[$exfld['field_name']]);
     
    if(!empty($shfld[$exfld['field_name']]))
    {
        $where[$exfld['field_name']] = "item_".$exfld['field_name']." LIKE '%".$shfld[$exfld['field_name']]."%'";
    }
}

И еще в этом же файле нашел кусок кода 

foreach($cot_extrafields[$db_market] as $exfld)
{
	$uname = strtoupper($exfld['field_name']);
	$exfld_val = cot_build_extrafields($exfld['field_name'], $exfld, $shfld[$exfld['field_name']]);
	$exfld_title = isset($L['projects_'.$exfld['field_name'].'_title']) ?  $L['projects_'.$exfld['field_name'].'_title'] : $exfld['field_description'];
	$t->assign(array(
		'SEARCH_'.$uname => $exfld_val,
		'SEARCH_'.$uname.'_TITLE' => $exfld_title,
	));
}

Где вместо market стоит projects, исправил: 

foreach($cot_extrafields[$db_market] as $exfld)
{
	$uname = strtoupper($exfld['field_name']);
	$exfld_val = cot_build_extrafields($exfld['field_name'], $exfld, $shfld[$exfld['field_name']]);
	$exfld_title = isset($L['market_'.$exfld['field_name'].'_title']) ?  $L['market_'.$exfld['field_name'].'_title'] : $exfld['field_description'];
	$t->assign(array(
		'SEARCH_'.$uname => $exfld_val,
		'SEARCH_'.$uname.'_TITLE' => $exfld_title,
	));
}

Теперь в маркете тоже работает поиск по экстроплям.

Добавлено 1 минута спустя:

Забыл указать у меня сборка 2.6.8.

Сообщения: 9

bim666

#24/27.01.2016 17:53
0

Пользователи

Карма: +7

Да столкнулся - дырка конкретная, хорошо бы заплатку...

Чтоб просто в админке указать и все..

Сообщения: 61

Cmsworks

Булат
#25/27.01.2016 18:54
0

Администраторы

Карма: +678

#12682 bim666:

Да столкнулся - дырка конкретная, хорошо бы заплатку...

Чтоб просто в админке указать и все..

Не понял в чем дыра? Дыра это когда может произойти взлом злоумышленником. Уточните в чем проблема?

Сообщения: 2388

box225

#26/22.04.2016 13:54
0

Аватар

Пользователи

Карма: 0

В market.list работает. В  projects.list нет. 

Добавлено 1 минута спустя:

В базу пишет, но не ищет.

Сообщения: 19

box225

#27/25.04.2016 13:05
0

Аватар

Пользователи

Карма: 0

#11362 cotvar:

Не знаю, может у меня это только такое...

В последней версии сборки (2.6.9) не работал поиск по экстраполям в projects.list.php.

Заменил код в указанном файле

foreach ($cot_extrafields[$db_projects] as $exfld)
{
	$fld_value = cot_import($exfld['field_name'], 'G', 'TXT');
	$fld_value = $db->prep($fld_value);
	
	if(!empty($shfld[$exfld['field_name']]))
	{
		$where[$exfld['field_name']] = "item_".$exfld['field_name']." LIKE '%".$fld_value."%'";
	}
}

на

foreach ($cot_extrafields[$db_projects] as $exfld)
{
	$shfld[$exfld['field_name']] = cot_import_extrafields($exfld['field_name'], $exfld, 'G', $shfld[$exfld['field_name']]);
	
	if(!empty($shfld[$exfld['field_name']]))
	{
		$where[$exfld['field_name']] = "item_".$exfld['field_name']." LIKE '%".$shfld[$exfld['field_name']]."%'";
	}
}

Теперь, вроде, все в порядке.

Сорри, все так.

Но В проджекте не работает поиск. Хотя в маркете всё нормально

Добавлено 6 часов спустя:

Спасибо, всё работает.

Сообщения: 19