infoman
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 61
стол руки голова
|
 |
« : 24.07.2008, 16:20:38 » |
|
 вобщем дяденьки и тётеньки давайте уже сами без Sigsiu сделаем нормальный велосипед и бесплатный. это качается тех кто делает расширенный поиск по базе соби итак фактически человек пришол на сайт ему нажно найти организацию соответсвующую некоторым параметрам для этого обычный поиск неподходит так как человек дефакто незнает точное название фирмы а фирма дефакто не внесла полноценную информацию о себе (основные характеристики) для этого в соби была задумана древовидная система каталога НО!!!!  не всё можно запихнуть в дерево и многие характеристики просто переплетаются а некоторые пользователь должен сам вносить (непредсказуемые хорактеристики) для этого в соби придумали систему индексов field (полей) посему считаю что обычную систему поиска нужно разделить на 2 типа 1)простой (название организации описание ипр.) 2)расширенный (поиск по жестко запланированным характеристикам искомого обьекта) в системе расширеного поиска необходимо : 1)создать расширенный поиск наподобие обчного расширенного поиска в соби 2,8,7 (конкретно там реализованна подгрузка групп select в зависимости от внесённых в базу записей т.е. если человек выбрал категорию1 ----присвоил ей город Москва---присвоил хорактеристику1 то соттветсвенно при расширеном поиске при выборе данной категории 1 выводятся все города для которых в данной категории есть записи ну и т.д. по нисходящему списку хорактеристик....) 1,1) добавить в данный вид поиска процессбар чтобы когда происходит подгрузка АЯКСОМ значений следующих select групп всплывало окошко ПОДОЖДИТЕ 2) убрать как таковую кнопку поиска и поле для ввода ключевого слова (если предпологается использовать правила отбора select либо оставить если используется правило выбора типа сортировка чекбокс ниже где высвечиваются результаты поиска организовать баструю подгрузку найденных данных с помощью технологии аякс причём 2мя способами 1) без использования кнопки НАЙТИ тоесть (выбрал человек Самарскую область и ему сразу выгрузились все фирмы в каталоге которые находятся в самарской области , далее при конкретизации данных по городу и типу предприятий список будет конкретизироваться) при этом можно даже не выводить все фирмы а вывести ссылку типа :Найдено 30 предприятий щелкните для ракрытия этого списка. 2) с использованием кнопки найти но только если в определении хорактеристик искомого обьекта пользователь использует нетолько селект группы но и checkbox выбор в этом случае человек сразу конкретизирует цель и при нажатии клавиши найти выводится конкретный список фирм подпадающий под эти хорактеристики вот такие у меня мысли и идеи  кто за? поднимаем быстро руки и если чё помогаем например в данный момент я немогу придумать сигнализацию того что аякс грузит селект группу кто знает аякс в собби помогите.
|
|
|
|
|
Записан
|
|
|
|
infoman
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 61
стол руки голова
|
 |
« Ответ #1 : 25.07.2008, 07:15:22 » |
|
в продолжении темы делаем разбор : 1)table jos_sobi2_item itemid - ид записей в соби 2)таблица : jos_sobi2_fields_data fieldid -ид поля (характеристики) itemid -ид записи фирмы 3)таблица : jos_sobi2_fields fieldid -ид поля (хорактеристики) fieldType -тип поля (хорактеристики) 6 - чекбокс (можно отметить несколько чеков) 5 -селект лист (зарание забитые хорактеристики выбор только одной) 4)таблица : jos_sobi2_cat_items_relations catid -ид категории (подкатегории) itemid -ид записи 5)таблица : jos_sobi2_language алгоритм нужно создать 2 типа поиска 1) с кнопкой найти (помимо селект групп выводится чекбоксы) 2)без кнопки найти ( в выбор хорактеритик входит поиск только по селект группам с формированием ссылки на количество найденых обьектов с помощью технологии аякс) 1) поехали! <?php делаем в 2 этапа 1)человек выбирает главную категорию (тип заведния) далее с помощью ааякса делаем выборку из базы данных выборку делаем из таблицы 4)таблица : jos_sobi2_cat_items_relations здесь делаем запрос каким записям присвоен catid выбранный человеком выводим массив itemid каторые присвоины данной категории заданной человеком далее обращаемся к таблице 2)таблица : jos_sobi2_fields_data здесь мы запрашиваем какой в какой строчке для полученных itemid имеются поля типа 5(селект листы), и получаем массив значений столбца data_txt далее делаем запрос к 5таблице : jos_sobi2_language и там делаем выборку значений где langKey= строчке массива полученных из столбца data_txt далее грузим в селект группу полученные значения : <select size="1" name=""> </select>$langValue<select size="1" name="$langKey"> </select> естественно спомощью аякса  также выводим кнопу далее чтобы перейти на 2-ю страницу расширенного поиска где мы будем фильтровать чекбоксы при этом мы уже будем иметь заданные параметры (выбранная категория и выбранные селект группы (их значения)) и так мы получили 1-ю страницу развёрнутого поиска человек выбрав какуюто категорию получет в селект группе только те значения селект полей к которым привязаны определённые записи (фирмы) соответсвующие данной категории выбранной человеком 2-й этап (фильтр для чекбоксов) на этом этапе заказчик задал очень большое колличество чекбоксов при этом клиенту недолжно выдаваться пустое значение (хотябы одна запись должна быть) и чем больше % совпадений хоратеристик фирмы с выбранными чекбоксами(пользователя) тем выше эта фирма должны быть в списке выдачи (результате поиска) поэтому для каждого чекбокса надо проводить выборку из базы для каждой фирмы после чего фирма получившая максимальное колличество балов будет выведена в верхушку выдачи пчём нужно учеть что фирмы удовлетворяющие всем группам чекбоксов выходят в первую десятку в выдаче тоесть фирме начисляется 2-й индекс 1) соттветствие всем группам чекбоксов отмеченных человеком дадим этому индексу название массив $VIP в этом массиве мы мы распологаем фирмы в таком порядке: название фирмы---колличество совпавших групп чекбоксов---общее колличество совпадений по всем чекбаксам всехгрупп чеков фирма А --- 6 --- 56 фирма А --- 5 --- 100 понимаю чистая математика и логика  вобщем делим данный масив по системе ABS (6,5,4,3,2,1) на 6 массивов это будут массивы приоритетов попадания в максимальное колличество чек групп каждый массыив надо обработать тоже по системе ABS и при нажатии клавиши найти выдавать в порядке уменьшения сначало (впервую десятку выводим те фирмы которые попали в максимальное колличество групп чекбоксов) сортируем по возрастанию итд. согласно возрастанию индекса попадания в группы всё это добро выводим на экран  вобщем получилось громоздко но чётко  если среди вас сеть великие логики то может поможете оптимизировать данную схему? далее от теории к алгоритму выборки из базы данных: нажав кнопу далее человек уже определился с направлением деятельности фирмы и местом её располдожения (городом или областью) эти параметры передаются на вход данной части скрипта и скрипт определяет какие фирмы под данную деятельность и место расположение попадают итак получем параметр : массив itemid (все иды фирм прошедших отбор) далее человек начинает проставлять галочки в чекбоксах для наглядности рисунок ![]()
|
|
|
|
« Последнее редактирование: 25.07.2008, 07:20:16 от infoman »
|
Записан
|
|
|
|
infoman
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 61
стол руки голова
|
 |
« Ответ #2 : 29.07.2008, 15:45:40 » |
|
начинания №1 первый лист расширенного поиска с использованием аякса <script type="text/javascript"> <!-- var x_request = createXMLHttpRequest();
function createXMLHttpRequest() { var xhr; if(window.XMLHttpRequest) { // åñëè èñïîëüçóåòñÿ áðàóçåð, îòëè÷íûé îò Microsoft Internet Explorer try { xhr = new XMLHttpRequest(); } catch(e) { xhr = false; } } else if(window.ActiveXObject) { // åñëè èñïîëüçóåòñÿ Microsoft Internet Explorer try { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { xhr = false; } } return xhr; }
function getForm(fobj) { var str = ""; var ft = ""; var fv = ""; var fn = ""; var els = ""; for(var i = 0;i < fobj.elements.length;i++) { els = fobj.elements[i]; // òåêóùèé ýëåìåíò ft = els.title; // title ýëåìåíòà fv = els.value; // value ýëåìåíòà fn = els.name; // name ýëåìåíòà switch(els.type) { case "text": case "hidden": case "password": case "textarea":
if(encodeURI(ft) == "required" && encodeURI(fv).length < 1) { els.focus(); return false; } str += fn + "=" + encodeURI(fv) + "&"; break; case "checkbox": case "radio": if(els.checked) str += fn + "=" + encodeURI(fv) + "&"; break; case "select-one": str += fn + "=" + els.options[els.selectedIndex].value + "&"; break; } // switch } // for str = str.substr(0,(str.length - 1)); return str; } function sendRequest(frm, file) { var rnd982g = Math.random(); var str = ""; if(str = getForm(frm)) { x_request.open('GET', file+'?'+str+'&rnd982g='+rnd982g); x_request.onreadystatechange = handleResponse; x_request.send(null); } return false; }
function handleResponse() { if(x_request.readyState == 4) { var response = x_request.responseText; document.getElementById("results").innerHTML = response; } else{document.getElementById("results").innerHTML = "processing request..."; } } //--> </script>
<form > <select name="region" onClick="sendRequest(this.form, 'process.php')"> <?php $catid=$_get['catid']; $catid="4"; $conn = mysql_connect("localhost","root","root"); mysql_select_db("joomla12",$conn); $res_region= mysql_query("SELECT * FROM `jos_sobi2_fields_data` WHERE `fieldid`=5 GROUP BY `data_txt` ") or die(mysql_error()); while($inf_region = mysql_fetch_array($res_region)) { $res_item_from_cat = mysql_query("SELECT `itemid` FROM `jos_sobi2_cat_items_relations` WHERE `itemid`='".$inf_region["itemid"]."' AND `catid`='".$catid."' ") or die(mysql_error()); if (!empty($res_item_from_cat)) { $res_region_all = mysql_query(" SELECT `langValue` FROM `jos_sobi2_language` WHERE `langKey` = '".$inf_region["data_txt"]."'") or die(mysql_error()); while($inf_region_all = mysql_fetch_array($res_region_all)) { echo "<option value='".$inf_region["data_txt"]."'>".$inf_region_all["langValue"]."</option>";
} } else{ echo"0"; } } echo"</select> <input type='hidden' name='catid' value='".$catid."'> </form> "; ?> <div id="results" /> process.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1251"> </head> <body><form action="process3.php" method="post"> <select size="1" name="gorod">
<?php $catid=$_GET['catid']; $region=$_GET['region'];
$conn = mysql_connect("localhost","root","root"); mysql_select_db("joomla12",$conn); $res_gorod= mysql_query("SELECT * FROM `jos_sobi2_fields_data` WHERE `fieldid`=3 GROUP BY `data_txt` ") or die(mysql_error()); ////нашли все города по уникальным названиям городов while($inf_gorod = mysql_fetch_array($res_gorod)) { $res_item_from_region = mysql_query("SELECT `itemid` FROM `jos_sobi2_fields_data` WHERE `itemid`='".$inf_gorod["itemid"]."' AND `data_txt`='".$region."' ") or die(mysql_error()); ////в цикле ищем все ид записей где ид для этого есть города и данной области $res_region=mysql_fetch_array($res_item_from_region);
if (!empty($res_region['itemid']))/////если есть такой ид с такой областью то { $res_item_from_cat = mysql_query("SELECT `itemid` FROM `jos_sobi2_cat_items_relations` WHERE `itemid`='".$inf_gorod["itemid"]."' AND `catid`='".$catid."' ") or die(mysql_error()); /////выбираем ид записей где ид города и ид категории $res_cat=mysql_fetch_array($res_item_from_cat);
if (!empty($res_cat['itemid'])) { $template_temp = $inf_gorod["data_txt"] ; $template_temp = strtr($template_temp, array( 'à'=>"а", 'á'=>"б", 'â'=>"в", 'ã'=>"г", 'ä'=>"д", 'å'=>"е", 'æ'=>"ж", 'ç'=>"з", 'è'=>"и", 'é'=>"й", 'ê'=>"к", 'ë'=>"л", 'ì'=>"м", 'í'=>"н", 'î'=>"о", 'ï'=>"п", 'ð'=>'р', 'ñ'=>"с", 'ò'=>"т", 'ó'=>"у", 'ô'=>"ф", 'û'=>"ы", 'ý'=>"э", '¸'=>"ё", 'õ'=>"х", 'ö'=>"ц", '÷'=>"ч", 'ø'=>"ш", 'ù'=>"щ", 'ú'=>"ъ", 'ü'=>"ь", 'þ'=>"ю", 'ÿ'=>"я", '\\\"'=>""",
'À'=>"А", 'Á'=>"Б", 'Â'=>"В", 'Ã'=>"Г", 'Ä'=>"Д", 'Å'=>"Е", 'Æ'=>"Ж", 'Ç'=>"З", 'È'=>"И", 'É'=>"Й", 'Ê'=>"К", 'Ë'=>"Л", 'Ì'=>"М", 'Í'=>"Н", 'Î'=>"О", 'Ï'=>"П", 'Ð'=>"Р", 'Ñ'=>"С", 'Ò'=>"Т", 'Ó'=>"У", 'Ô'=>"Ф", 'Û'=>"Ы", 'Ý'=>"Э", '¨'=>"Ё", 'Õ'=>"Х", 'Ö'=>"Ц", '×'=>"Ч", 'Ø'=>"Ш", 'Ù'=>"Щ", 'Ú'=>"Ъ", 'Ü'=>"Ь", 'Þ'=>"Ю", 'ß'=>"Я", ));
$inf_gorod["data_txt"] = $template_temp; $gorod=$inf_gorod["data_txt"]; ////$gorod=iconv("windows-1251","UTF-8","порпорп"); ///тут надо перекодировать в вин 1251 ////ибо в данный момент кодировка городов выходит козябрами echo "<option value='".$gorod."'>".$gorod."</option>";
} else{ echo"0"; } } else{ echo"0"; } }
echo "</select>"; echo "<input type='hidden' name='catid' value='".$catid."'>"; echo "<input type='hidden' name='region' value='".$region."'>"; ?>
<input type="submit" value="next"> </form> </body><body> </body> это конечно только набросок 1-я страничка нам извесна категория выбираем область (регион) через аякс грузится вторая страничка грузятся все города выбранной области для которых есть записи (карточки фирм) с формой можно передать на страничку process3.php данные : выбранная категория выбранный регион (область) и выбранный город также можно передать массив с записями (карточками itemid) которые присутствуют в данном городе области и категории на третьем этапе нужно сделать выборку itemid согласно критериев выбранных спомощью чекбоксов показанных выше на скриншоте помоему придётся делать на аяксе ......
|
|
|
|
« Последнее редактирование: 29.07.2008, 16:30:17 от infoman »
|
Записан
|
|
|
|
СергейЗ
Захожу иногда

Репутация: +0/-2
Offline
Сообщений: 15
|
 |
« Ответ #3 : 09.10.2008, 00:13:42 » |
|
Не ужеле это больше никому не интересно?
|
|
|
|
|
Записан
|
|
|
|
|
|
infoman
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 61
стол руки голова
|
 |
« Ответ #5 : 09.10.2008, 07:41:44 » |
|
поиск сделан но увы как всегда хотелось всеобщий а получилось как всегда под конкретного заказчика позже покажу как он работает 
|
|
|
|
|
Записан
|
|
|
|
infoman
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 61
стол руки голова
|
 |
« Ответ #6 : 09.10.2008, 07:53:14 » |
|
вобщем сделанно на аяксе сначало выбираем регион потом город потом город заносится в сессию после чего доступен поиск по наименованию (тоже аякс) а также кнопка расширенного поиска итд в этом конкретном городе
|
|
|
|
« Последнее редактирование: 09.10.2008, 07:56:53 от infoman »
|
Записан
|
|
|
|
|
SyncMaster
|
 |
« Ответ #7 : 14.10.2008, 19:56:19 » |
|
В чем достоинство этого поиска, кроме названия «интеллектуальная система поиска» и псевоанимации «подождите, идёт загрузка городов» (это же так сложно, выбрать из массива «5 значений», ей, системе поиска, нужно подумать)  Меня, пользователя с 10+ летним стажем в инете, такие фишки раздражают. Я быстро напишу в строке поиска «балашиха пиво» и из десятка привычных строк выберу то, что нужно мне. А на счет бесплатности… Собивцы зарабатывают на расширениях, я так понимаю очень сложно, заплатить за плагин 20 евро людям, которые дают вам заработать в десятки раз большие деньги. Халява, сэр! P.S. Я «за» большое кол-во плагинов, хороших и нужных, но меня очень убивают слова «бесплатно» и «халява»
|
|
|
|
|
Записан
|
|
|
|
infoman
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 61
стол руки голова
|
 |
« Ответ #8 : 15.10.2008, 07:53:04 » |
|
никто на лавры победителя и не претендует не забывайте мы говорим о расширенном поиске  есть задача произвести выборку по городу и региону в стандартном расширенном поиске соби тоже аякс присутствует НО там нет никаких слов 1)Подождите! (что приводит недоумению пользователя особенно если подгрузка городов после выбора региона происходит только после клика мышью куда угодно кроме выпадающего списка .... Это что по вашему нормально?) 2)Система подгрузки рассчитана (или заявляет то что может подгружать значения хоть до бесконечности (вложенности) НО это полная лажа так как эта система ломается сразу после города..... 3) Даже если вы подгрузили после всех этих мытарств нужные вам критерии всеравно поиск расширенный там не производится .... ПРОВЕРЕННО! вопрос зачем тогда вообще мучить задний проход сужая критерий поиска?  по поводу халявы то не мы придумали это слово .... и не нам решать что нравится людям есть рынок есть потребность а свято место пусто не бывает и ещё если у вас есть решение получше и юзабилитней (расширенного поиска соби) выкладывайте или наставте народ на путь истинный а не голословно истрогайте то что накипело.... поражает логика людей форума (профи) человек "не спрашивает" а заказывает кусок кода и все над ним смеются ... вот вместо того чтобы ржать и веселится что ты такой умный лучше удели человеку час и он обеспечит тебе дневной твой заработок .....  з.ы. по поводу интеллектуальной системы: дословно никакого массива там нет если вам так интересно а если и есть то несовем то что вы подумали если вы заметили в таблице sobi2_item нет ни каких записей о городах и прочих полях для этой записи этот скрипт последовательно проверяет существуют ли записи в данном регионе если есть существуют ли записи в выбранном городе определяют подходит ли записи данной категории и нет ли совпадений в названии городов и только потом формируется массив из которого можно что то там выбирать.... а стандартный расширенный поиск соби после выбора региона может запросто выдать в выпадающем списке 2 одинаковых названия города это нормально? представь у тебя 150 фирм в одном городе и что? выпадающий список будет состоять из 150 одинаковых городов? 
|
|
|
|
« Последнее редактирование: 15.10.2008, 08:05:55 от infoman »
|
Записан
|
|
|
|
|
SyncMaster
|
 |
« Ответ #9 : 15.10.2008, 09:58:29 » |
|
на счет слова «массив» это абстрактно. где то Вы правы, где-то нет. если честно, нет никого желания разводить дебаты.
|
|
|
|
|
Записан
|
|
|
|
infoman
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 61
стол руки голова
|
 |
« Ответ #10 : 15.10.2008, 12:44:29 » |
|
когда ты что то покупаешь это значит ты не в силах это придумать сам .....  а не покупаешь потому что знаешь что за 20$ тебе не окажут никакой тех помощи по приспособлению того что ты купил а если ты умеешь и знаешь примерно как это сделать и за это платят деньги то получается здравый интерес (спортивный) и кроме того возникает непреодолимое желание (точнее нежелание рыться в чужих кодах с иностранными комментариями) и разбираться каков же принцип построения этого расширения..... а если учесть что тут идёт речь о объектно ориентированном программировании то уж тем более нужно в голове держать все блоки и помнить откуда что берётся и куда девается.... и за это надо заплатить..... вот такие доводы приводят к написанию собственного расширения (в данном случае расширенного поиска) а не жабка засевшая где то в потаённых уголках мозга... причины: 1) пока сам не попробуешь не поймёшь 2) покупать а потом часами разбирать код 3) время заказчика твои деньги
|
|
|
|
|
Записан
|
|
|
|
|
SyncMaster
|
 |
« Ответ #11 : 15.10.2008, 14:45:23 » |
|
у меня не возникло ни одного вопроса, по используемым собивским платным плагинам (из тех, что у меня есть). плагины, которые я использую, кроме руссификации изменений не требуют. а делая изменения, которые влияют на механизм работы модуля, вы нарушаете лецензионное соглашение  на счет написания и ковыряния в чужом коде вы тут совсем не правы. хотя бы начем с cms. если вам «спортивно» интересно — напишите свою собственную cms и компонент а-ля sobi. и это не доводы, а мазохизм  пункты 2 и 3 — как раз покупка нормального модуля это экономия и времени и денег. я использую соби, потому как он бесплатный. и это не жажда халявы, а просто я не до конца продумал свой продукт и решения появлятся постоянно. joomla + sobi + еще несколько компонентов для отладки «а как будет выглядить и работать, если сделать так» и в процессе работы выясняется где хорошо, а где плохо. если бы были за каждую нашу «бредовую мысль» были уплочены деньги — мы бы разорились уже (я лучше отдам $20 и посмотрю как это будет работать, чем каждый раз выкидывать по $100+). поэтому, как закончится «тестовая» версия, так будет сделан написан собственный движок. повторюсь, я не собираюсь вступать в дебаты, потому что у нас разные ценности и мы говорим о разном.
|
|
|
|
|
Записан
|
|
|
|
infoman
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 61
стол руки голова
|
 |
« Ответ #12 : 15.10.2008, 14:56:29 » |
|
данный модуль что я показал является совершенно отдельным от соби модулем и не нарушает никаких соглашений или то что он лучше ориентирован на заказчика является нарушением gpl? он невходит в состав компонента и его можно вызывать вне его тем самым он позволяет производить корректировку выводимых данных и в других компонентах в которых также имеет смысл фильтровать выходные данные вот например у вас sobi имеет такую функцию при заходе в каталог в категорию чтобы отображались записи только из определённого города? нет? а этот модуль позволяет это делать вот так вот 
|
|
|
|
« Последнее редактирование: 15.10.2008, 15:11:49 от infoman »
|
Записан
|
|
|
|
СергейЗ
Захожу иногда

Репутация: +0/-2
Offline
Сообщений: 15
|
 |
« Ответ #13 : 23.10.2008, 02:34:38 » |
|
Подскажите можно ли стандартный поиск выдернуть в отделный модуль? можно ли в нем убрать некоторые поля поиска? (тоесть в родном выбираешь город, улицу, дом, день, месяц, год, а в модуле только например улицу и дом)
|
|
|
|
|
Записан
|
|
|
|
infoman
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 61
стол руки голова
|
 |
« Ответ #14 : 23.10.2008, 10:14:21 » |
|
я ничего не выдёргивал просто достаёш модуль аякса самый простой какой подуше и делаеш скрипт модуля алгоритм поиска записей таков 1) грузим все регионы в которых есть записи при выборе нужного региона иницируем аякс который обращается к отдельному скрипту и в этом скрипте ищем все города относящиеся к этому региону в которых есть записи (причём прыгать надо именно от записей ибо города в регионах бывают одинаковыми.... их около 1500000 штук по всей России естественно что привязывать город нереально а ещё есть пасёлки ..... поэтому алгоритм таков : найдя все записи в регионе собираем данные о городах в котроых имеются эти записи группируем по городам (названиям (ибо могут быть в одном городе) далее получив названия городов делаем запрос ищем все записи с таким городом и если запись совпадает с выбранным регионом выводим её в массив получив массив записей (отсортированных) можем легко осуществлять поиск в этих записях чего угодно и как угодно вот и весь принцип.... замудрённо но увы база соби пастроена очень замысловато по другому неподойдёш к этой храмой козе
|
|
|
|
|
Записан
|
|
|
|
СергейЗ
Захожу иногда

Репутация: +0/-2
Offline
Сообщений: 15
|
 |
« Ответ #15 : 23.10.2008, 14:29:50 » |
|
А готовое решение у вас есть, чтоб работало. я малость проспонсировать могу
|
|
|
|
|
Записан
|
|
|
|
infoman
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 61
стол руки голова
|
 |
« Ответ #16 : 24.10.2008, 06:13:52 » |
|
ну дождитесь завершения прожекта  патом буду адаптировать решения на широкую публику  ну а за спонсорство буду благодарен 
|
|
|
|
|
Записан
|
|
|
|
СергейЗ
Захожу иногда

Репутация: +0/-2
Offline
Сообщений: 15
|
 |
« Ответ #17 : 24.10.2008, 06:25:10 » |
|
у меня горит. срок - вчера
|
|
|
|
|
Записан
|
|
|
|
infoman
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 61
стол руки голова
|
 |
« Ответ #18 : 24.10.2008, 06:29:30 » |
|
ну если горит сам придумай я тебе алгоритм показал дальше дело техническое исполнение в виде скриптов ты сам посмотри базу соби и в общем то всё поймёшь что откуда и как фильтровать и подгружать  а сырые недоделки давать никому не буду несерьёзно 
|
|
|
|
|
Записан
|
|
|
|
infoman
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 61
стол руки голова
|
 |
« Ответ #19 : 17.12.2008, 09:14:25 » |
|
собственно реализация поиска на сайте gde-eda.ru технически: 1)выбирается регион в котором есть записи 2)при выборе региона подгружаются сгруппированные города в которых есть записи 3)выбранный город фиксируется в сессии (массив записей) 4)на основе сессии формируется общесайтовый фильтр города этот фильтр влияет на выборку : статистики каталога, новости предприятий на главной, описание города, вывод записей в каталог соби, расширенный поиск, поиск по наименованию.
5)расширенный поиск производится только после установки фильтра по городу сам поиск несовсем поиск а лиш рейтинг, пользователь отмечает критерии предприятия (чекпоинты) и в зависимости от количественного и качественного совпадения по чекгруппам формируется выдача поиска.
|
|
|
|
|
Записан
|
|
|
|
|
SyncMaster
|
 |
« Ответ #20 : 22.12.2008, 12:38:29 » |
|
Всё-таки не бросил  … Если пользователь придет с поисковика, то ему будет показываться вся «сборная солянка». Надо будет подумать, как упростить людям жизнь. … … И будет ли работать этот поиск в 1.5.х? А в целом хорошо  P.S. Писал-писал, потом стёр больше половины. Потом, как-нибудь, допишу, как всё сформулирую  P.S.S. И не совсем красиво писать «дизайн AvLab web-studio», когда используется Teline II 
|
|
|
|
|
Записан
|
|
|
|
infoman
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 61
стол руки голова
|
 |
« Ответ #21 : 23.12.2008, 11:40:48 » |
|
от теле 2 там мало что осталось если только структура и идея и функции прыгали от заказчика многое натянули из теле 2 на то что в теле 2 неиспользовалось для компонента на 1,5 даже незнаю переработка всего движка соби была очень очень глубокая  уж незнаю хватит ли сил сделать общественную версию...
|
|
|
|
|
Записан
|
|
|
|
|
SyncMaster
|
 |
« Ответ #22 : 23.12.2008, 20:42:46 » |
|
переработка всего движка соби была очень очень глубокая  уж незнаю хватит ли сил сделать общественную версию... Ну вот! А как всё хорошо начиналось… отдельный модуль… бесплатный…А оказывается, там весь движок перелопачен и будешь ждать новую версию SOBI не с нетерпением, а с ужасом 
|
|
|
|
|
Записан
|
|
|
|
infoman
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 61
стол руки голова
|
 |
« Ответ #23 : 24.12.2008, 13:16:19 » |
|
если делать лайт версию то можно и не крамсать движок а там было от заказчика заказчик сказал надо значит надо ..... комсомол ответил ЕСТЬ!
и ещё есть так называемые стабильные версии а есть новофункциональные
вот скажи ветка 2,8* она стабильна или есть отличия в безопасности от 2,9 ? ибо 2,9 она ещё развивается и насколько я знаю там просто докучи новшеств и на все эти новшества ещё ненайдены дыры и будут выпускать всё новые патчи..... а оно надо? непроще ли 2,8 полностью обезопасить и спать спокойно?
|
|
|
|
« Последнее редактирование: 24.12.2008, 13:20:57 от infoman »
|
Записан
|
|
|
|
|
SyncMaster
|
 |
« Ответ #24 : 24.12.2008, 14:24:22 » |
|
Ну я пока отошел от соби — очень много других дел ща. Убил 2 каталога, потому что некогда. Оно мне надо, потому что он работает всё стабильнее и стабильнее. Если есть критические моменты, то sigsiu выпускает обновление почти сразу. А убил «готовые» каталоги, потому что мне проще сделать будет вновь. Чую ж…, что вот-вот выйдет «трёшка», и думаю, что снимут статус RC. Нужно будет делать миграцию вспоминать и искать где движок правлен, какие-то данные могут потеряться… Зачем?! «2 недели» и база из 5к записей забита. Может быть поэтому у меня работало стабильнее, чем у многих…
Да, видел у тебя «кол-во данных в базе». Насколько он сильнее грузит систему? Давно хотел сделать такой модуль, но потом подумал, что этот лишний запрос к БД ни к чему. Если у тебя в БД 5к записей, то юзверям не так важно, 5003 записи или 5017 записей — раз в день зашел и подправил руками…
|
|
|
|
|
Записан
|
|
|
|
infoman
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 61
стол руки голова
|
 |
« Ответ #25 : 25.12.2008, 09:17:13 » |
|
знаю что проще свой замутить но это долго..... запросов после вставки модуля увеличелось на 4-5 больше стало вообще у соби 2,8,** в апогее до 200 запросов за раз....  с применением модуля запросов стало чуть поменьше  всётаки фильтр отрезает (один раз установив ограничение) снизилось до 150 (апогей)+4-5 самого модуля но что прискорбно модуль непереваривает кеш отсюда кеш выключен
|
|
|
|
|
Записан
|
|
|
|
infoman
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 61
стол руки голова
|
 |
« Ответ #26 : 25.12.2008, 09:22:48 » |
|
что касается вмешательства и кеша то у соби 2,8,* есть такое очень тонкое место называемое мною "Талия соби" там заменив одну строчку кода можно фильтровать вывод записей  ну и дальнейшую обработку и запросы на получение хорактеристик записи (тип полей итп....) работает эта талия только с отключенным кешем
|
|
|
|
|
Записан
|
|
|
|
belguy
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 42
|
 |
« Ответ #27 : 23.01.2009, 13:10:12 » |
|
Уважаемый Infoman. Как можно с вами связаться для обсуждения вопросов о SOBI?
|
|
|
|
|
Записан
|
|
|
|
|
SyncMaster
|
 |
« Ответ #28 : 23.01.2009, 13:42:02 » |
|
Для начала написать ему в личку, потому что это сообщение он может просто не увидеть.
|
|
|
|
|
Записан
|
|
|
|
belguy
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 42
|
 |
« Ответ #29 : 23.01.2009, 13:47:40 » |
|
Так нет у него не аськи ни почты. 
|
|
|
|
|
Записан
|
|
|
|
|
SyncMaster
|
 |
« Ответ #30 : 23.01.2009, 15:23:31 » |
|
Заходите в его профайл и выбираете «Отправить сообщение пользователю».
|
|
|
|
|
Записан
|
|
|
|
infoman
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 61
стол руки голова
|
 |
« Ответ #31 : 27.01.2009, 08:55:25 » |
|
я на сессии у меня депрессия  непишите мне до 20 февраля
|
|
|
|
|
Записан
|
|
|
|
|
dmsoh
|
 |
« Ответ #32 : 17.05.2009, 14:56:53 » |
|
infoman, вопрос поиска тоже интересует, выложите пожалуйста ваш модуль.
|
|
|
|
|
Записан
|
|
|
|
alkatraz
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 29
Ученье свет!
|
 |
« Ответ #33 : 20.05.2009, 21:25:07 » |
|
видимо инфоман сессию провалил... 
|
|
|
|
|
Записан
|
|
|
|
infoman
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 61
стол руки голова
|
 |
« Ответ #34 : 21.05.2009, 15:08:29 » |
|
видимо инфоман сессию провалил...  нет началась новая.... курсовой прожект на 55 листов ещё 4 практических решить надо... это вам не шутки совсем некогда... отдельным модулем неумесно решать это комплексный подход кароче принцип таков: делаем модуль выборки из базы (пофик какой) этим модулем выбираем город итп.... и формируем массив $sids.... далее так или иначе этот модуль кладёт массив sids в сессию далее в самом движке соби перехватываем sids и подменяем его на наш из сессий параметр $sids работает только при выключенном кеше $sids массив записей в той категории в каторой мы щас находимся.... $sids это тонкое место которое определяет (количество записей в данной категории) таком образом зайдя в категорию например : ТАНКИ ГРЯЗИ НЕБОЯТСЯ по идеи соби сформирует нам массив $sids типа - (танк т80, танк-т90,.....) ну вот а мы знаем что первый танк продаётся только в городе Москва а остальные в городе Брянск  а наш созданный модуль по полю (город) отобрал все танки в Москве и сформировал свой $sids состоящий из ида этого танка таквот соби только сформирует свой апупенно толстый $sids мы его перехватываем и меняем на свой который нам сформировал модуль.... в итоге сайт выведет нам в этой категории только один танк лежащий на складе в москве  кроме того от параметра $sids начинает прыгать всё остальное а именно (постраничный вывод, подсчёт записей в категории (подкатегории) и прочие сервисные штучки движка....) вот такой алгоритм где в соби встречается $sids ищите фаром (полнотекстовый поиск...)
|
|
|
|
|
Записан
|
|
|
|
infoman
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 61
стол руки голова
|
 |
« Ответ #35 : 21.05.2009, 15:12:02 » |
|
$sids - массив id записей которые надо вывести ...... соби от него прыгает... при включеном кеше скорее всего в кеше формируется подобный же массив и тоже каким то образом заменяется....
|
|
|
|
|
Записан
|
|
|
|
|
areshenikov
Гость
|
 |
« Ответ #36 : 06.06.2009, 01:18:08 » |
|
и пропал человек. а задумка и реализация очень интересна.
|
|
|
|
|
Записан
|
|
|
|
Fat
Разработчик расширений для Joomla 1.5
Репутация: +20/-0
Online
Пол: 
Сообщений: 493
Разрабатываю компоненты для Joomla
|
 |
« Ответ #37 : 05.07.2009, 19:00:28 » |
|
заплатите мне 50wmz и я сделаю вам модуль поиска nfat@mail.ru
|
|
|
|
|
Записан
|
|
|
|
Rassvet
Осваиваюсь на форуме
 
Репутация: +3/-0
Offline
Сообщений: 45
|
 |
« Ответ #38 : 18.01.2010, 00:47:09 » |
|
Здравствуйте уважаемые знатоки. Тут подняли тему по фильтрации в SOBI2 по определенным параметрам и есть пара вопросов. Если что-то говорю не так просьба сразу не бить  Который день потратил на понимание логики компонента  Совершенно непонятна ситуация с переменной $sids. Такой пример: строки 560-563 в файле frontend.class.php (версия SOBI2 RC2.9.2): if ($catid == 0 && $config->showListingOnFp) { $query = "SELECT itemid FROM `#__sobi2_item` WHERE (`published` = 1 AND (`publish_down` > '{$now}' OR `publish_down` = '{$config->nullDate}'))"; } else if ($catid != 0) { $or = null; if ($config->showEntriesFromSubcats) { $this->getChildCats ( $catid ); foreach ( $this->catChilds as $cid ) { $or = $or . "OR `catid` = {$cid} ";} unset ( $this->catChilds ); $this->catChilds = array (); }
Допустим мы перехватываем значение $sids и заменяем его на свой массив как советовал infoman в постах выше. Но...  Ничего не происходит... Кэш браузера при этом отключен. Думаю, что я просто подменяю массив не в той функции или же переменная $sids заполняется повторно в дальнейшем листинге сценария. Если объяснять лень, то, пожалуйста, хоть посоветуйте где можно почитать статьи на эту тему. Или же про внутренне устройство SOBI2.
|
|
|
|
|
Записан
|
|
|
|
webusver
Осваиваюсь на форуме
 
Репутация: +8/-0
Offline
Сообщений: 110
|
 |
« Ответ #39 : 19.01.2010, 14:20:23 » |
|
Извиняюсь... ...а пользовательский поиск от Google не ищет по материалам SOBI2?
|
|
|
|
|
Записан
|
|
|
|
|
SyncMaster
|
 |
« Ответ #40 : 19.01.2010, 14:54:09 » |
|
Насколько помню, он ищет про проиндексированным страницам Гуголом. По сути, пользователи будут искать на Гуголе, но в интерфейсе Вашего сайта.
|
|
|
|
|
Записан
|
|
|
|
Rassvet
Осваиваюсь на форуме
 
Репутация: +3/-0
Offline
Сообщений: 45
|
 |
« Ответ #41 : 19.01.2010, 17:07:10 » |
|
|
|
|
|
|
Записан
|
|
|
|
|
devul
|
 |
« Ответ #42 : 20.01.2010, 21:02:06 » |
|
инфоман говорил про версию SOBI2 под Joomla 1.0 а в новой наверно все по дргому)
|
|
|
|
|
Записан
|
|
|
|
Rassvet
Осваиваюсь на форуме
 
Репутация: +3/-0
Offline
Сообщений: 45
|
 |
« Ответ #43 : 20.01.2010, 23:15:24 » |
|
Это я ступил  Он похоже говорил про кэш внутри компонента, а я кэш браузера отключал  Там, в компоненте SOBI2, есть L2 и L3 кэш. Вот его и нужно откючать либо делать перехват значений. Знатоки жаль молчат по этому поводу... Хотелось бы от них какой-то информации добиться.
|
|
|
|
|
Записан
|
|
|
|
lovejah
Новичок
Репутация: +0/-0
Offline
Сообщений: 3
|
 |
« Ответ #44 : 14.02.2010, 16:39:22 » |
|
Как вариант, можно использовать обычный поиск Joomla, предварительно установив и включив плагин aiSobiSearch. Работает на ура.
|
|
|
|
|
Записан
|
|
|
|
|
SyncMaster
|
 |
« Ответ #45 : 25.02.2010, 19:27:04 » |
|
Как вариант, можно использовать обычный поиск Joomla, предварительно установив и включив плагин aiSobiSearch. Работает на ура.
Вы не совсем в ту тему написали — прочтите первое сообщение топик-стартера.
|
|
|
|
|
Записан
|
|
|
|
saifa
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Сообщений: 37
|
 |
« Ответ #46 : 18.03.2010, 01:31:42 » |
|
эх,эх,эх кто же такой модуль сделает? чтобы деление зависимые страны, города. и выборка по определенным параметрам... галочки ставишь, какие параметры учитывать, а какие нет... к сожалению Собивский поиск моим требованиям не отвечает. 
|
|
|
|
|
Записан
|
|
|
|
|