0 Пользователей и 1 Гость просматривают эту тему.
  • 17 Ответов
  • 9623 Просмотров
*

Adeptus

  • Завсегдатай
  • 1861
  • 219 / 15
По заказу проекта КурортСпб мною был написан

модифицированный модуль поиска для компонента MosetsTree v2.02

Модуль позволяет осуществлять универсальный поиск из одной формы по трем независимым направлениям:
1. поиск в каталоге MosetsTree
2. поиск по всему сайту
3. поиск в Интернете (Яндекс)

Одновременно исправлена имеющая место в MosetsTree известная проблема с неработоспособностью Поиска при вводе поискового запроса кириллицей. Теперь поиск осуществляется корректно и на английском, и на русском языках по всем трем направлениям.

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

Увидеть модуль в работе можно на моем полигоне-2 или на сайте Заказчика.

Скрин прилагается.


[вложение удалено Администратором]
« Последнее редактирование: 09.02.2008, 20:17:12 от Adeptus »
*

timonnn

  • Захожу иногда
  • 366
  • 15 / 0
Re: Новый модуль поиска для MosetsTree 2.XX
« Ответ #1 : 04.05.2009, 20:43:13 »
И какова стоимость на сегодняшний день. И можно увидеть в действии?
*

Adeptus

  • Завсегдатай
  • 1861
  • 219 / 15
Re: Новый модуль поиска для MosetsTree 2.XX
« Ответ #2 : 07.05.2009, 12:11:14 »
И какова стоимость на сегодняшний день. И можно увидеть в действии?

Обращайтесь в личные каналы связи - договоримся... :)
*

dimko300

  • Захожу иногда
  • 61
  • 1 / 0
Re: Новый модуль поиска для MosetsTree 2.XX
« Ответ #3 : 09.06.2009, 02:15:20 »
Доброго времени суток.
А можете сделать фильтрацию в категориях по заданным критериям? Т.е.
1. Я открываю категорию "Туробъекты" - в ней мне необходимо отобрать связанные по общему местонахождению или по общей тематике  и т.д. (все они связанны с Парент одной цепочкой)....
2. Я открываю Описание объекта, а мне необходимо найти все связанные с ним структуры - услуги, инфраструктуру, товары...
Фильтрация производится в идущих друг за другом окошках с дропдаун списками...
*

Adeptus

  • Завсегдатай
  • 1861
  • 219 / 15
Re: Новый модуль поиска для MosetsTree 2.XX
« Ответ #4 : 09.06.2009, 04:41:55 »
Доброго времени суток.
А можете сделать фильтрацию в категориях по заданным критериям?

Я все могу :)

Но удовольствие это не из самых дешевых.
*

dimko300

  • Захожу иногда
  • 61
  • 1 / 0
Re: Новый модуль поиска для MosetsTree 2.XX
« Ответ #5 : 09.06.2009, 14:34:07 »
Ну тогда назавите свой волшебный приговор :) и возможно Вы поможете решить мою проблему...
Только у меня асек всяких нет.... Общение через почту или по телефону.
*

Adeptus

  • Завсегдатай
  • 1861
  • 219 / 15
Re: Новый модуль поиска для MosetsTree 2.XX
« Ответ #6 : 09.06.2009, 19:30:39 »
Только у меня асек всяких нет.... Общение через почту или по телефону.

Ну тогда пишите в почту :)
*

dimko300

  • Захожу иногда
  • 61
  • 1 / 0
Re: Новый модуль поиска для MosetsTree 2.XX
« Ответ #7 : 09.06.2009, 22:35:34 »
Цитировать
Ну тогда пишите в почту

А почта где ?  ^-^
*

dimko300

  • Захожу иногда
  • 61
  • 1 / 0
Re: Новый модуль поиска для MosetsTree 2.XX
« Ответ #8 : 10.06.2009, 13:50:16 »
Я не знаю что Вы молчите? Вот далее принцип того, что мне необходимо... Я думаю это надо прикрутить к sub_listings.tpl.php и прописать в фильтрах , то что мне необходимо... Я создал несколько шаблонов и необходимые мне категории выводятся в разных шаблонах, что дает мне возможность установить разные фильтра для разных категорий. Правда я хотел немного по другому, что бы шел запрос в таблицу б.д. по указанному cat_id (ячейка в таблице). Что Вам проще? и какая все таки цена на доработку???

Код
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );

/*# Include the language file. Default is English
global $mt_language;
if ($mt_language=='') $mt_language='english';
include_once('components/com_mtree/language/'.$mt_language.'.php');
if ( !isset($_MT_LANG) ) $_MT_LANG =& new mtLanguage();*/

# Get params
$moduleclass_sfx = $params->get( 'moduleclass_sfx' );

$filter_by_country = $params->get( 'filter_by_country', '1' );
$filter_by_state = $params->get( 'filter_by_state', '1' );
$filter_by_city = $params->get( 'filter_by_city', '1' );
$filter_by_cust1 = $params->get( 'filter_by_cust1', '0' );
$filter_by_cust2 = $params->get( 'filter_by_cust2', '0' );

$caption_cust2 = $params->get( 'caption_cust2', 'Select %1' );
$caption_country = $params->get( 'caption_country', 'Select Country' );
$caption_state = $params->get( 'caption_state', 'Select State' );
$caption_city = $params->get( 'caption_city', 'Select City' );
$caption_cust1 = $params->get( 'caption_cust1', 'Select %1' );
$caption_cust2 = $params->get( 'caption_cust2', 'Select %1' );
$text = "Что ищем?..." /*_SEARCH_BOX*/;
if( $filter_by_cust2 == $filter_by_cust1 ) {
$filter_by_cust2 = '0';
}

# Countries
$loc_countries = array();
$loc_countries[] = mosHTML::makeOption( '', $caption_country );

$database->setQuery( "SELECT DISTINCT country AS text, country AS value FROM #__mt_links WHERE country <> '' ORDER BY country ASC" );
$tmp_countries = $database->loadObjectList();

$loc_countries = array_merge( $loc_countries, $tmp_countries );

/*if there is only one country it creates the ,select. however it does not show it (display:none)*/
if(sizeof($loc_countries)>2){$displayCountry= " ";}else{$displayCountry=" style='display:none;' ";}

$lists['countries'] = mosHTML::selectList( $loc_countries, 'country', 'name="country"'.$displayCountry.' class="inputbox" size="1" '.( ( $filter_by_state ) ? 'onChange="loadLoc(this,\'State\')"' : ''), 'value', 'text', '' );

# Filter 1

/*$database->setQuery( "SELECT name, value FROM #__mt_config WHERE name LIKE 'cust_%'" );
$custom_fields = $database->loadObjectList('name');

if ( $filter_by_cust1 <> '0' ) $caption_cust1 = str_replace("%1", $custom_fields[$filter_by_cust1]->value, $caption_cust1);
if ( $filter_by_cust2 <> '0' ) $caption_cust2 = str_replace("%1", $custom_fields[$filter_by_cust2]->value, $caption_cust2);

if ( $filter_by_cust1 <> '0' ) {
$filterItems = array();
$filterItems[] = mosHTML::makeOption( '', $caption_cust1 );

$database->setQuery( "SELECT DISTINCT ".$filter_by_cust1." AS text, ".$filter_by_cust1." AS value FROM #__mt_links WHERE ".$filter_by_cust1." <> '' ORDER BY ".$filter_by_cust1." ASC" );
$tmp_filter_1 = $database->loadObjectList();

$filterItems = array_merge( $filterItems, $tmp_filter_1);
$lists['filter1'] = mosHTML::selectList( $filterItems, $filter_by_cust1, 'name="'.$filter_by_cust1.'" class="inputbox" size="1" '.( ($filter_by_cust2  <> '0') ? 'onChange="loadLoc(this,\''.$filter_by_cust2.'\')"' : '' ), 'value', 'text', '' );
}*/

?>
<script language="Javascript">
var state = new Array();
var city = new Array();
var filter2 = new Array();
<?php
foreach( $tmp_countries AS $tmp_country ) {

$database->setQuery( "SELECT DISTINCT state FROM #__mt_links WHERE country = '".$tmp_country->text."' AND country <> '' ORDER BY state ASC" );
$tmp_states = $database->loadResultArray();
if( count($tmp_states) > 0 ) {
echo "state['".$tmp_country->text."']=new Array('";
echo implode("','",$tmp_states);
echo "');\n";
}

if( $filter_by_city ) {
foreach( $tmp_states AS $tmp_state ) {

$database->setQuery( "SELECT DISTINCT city FROM #__mt_links WHERE state = '".$tmp_state."' AND state <> '' ORDER BY city ASC" );
$tmp_cities = $database->loadResultArray();
if( count($tmp_cities) > 0 && !empty($tmp_cities[0]) ) {
echo "city['".$tmp_state."']=new Array('";
echo implode("','",$tmp_cities);
echo "');\n";
}

}
}

}

/*foreach( $tmp_filter_1 AS $tmp_filter ) {
$database->setQuery( "SELECT DISTINCT ".$filter_by_cust2." FROM #__mt_links WHERE ".$filter_by_cust1." = '".$tmp_filter->text."' ORDER BY ".$filter_by_cust1." ASC" );
$tmp_filter_2 = $database->loadResultArray();

if( count($tmp_filter_2) > 0 ) {
echo "filter2['".$tmp_filter->text."']=new Array('";
echo implode("','",$tmp_filter_2);
echo "');\n";
}
}*/

?>

function loadLoc(ref,loc) { loadLoc2(ref.options[ref.selectedIndex].value,loc) }
function loadLoc2(val,loc) { switch(loc) { case 'State':
if(typeof state[val] != "undefined") { var locations = state[val]; <?php if( $filter_by_city ) { ?>
clearList('City'); disableLoc('City'); <?php } ?>
} else { disableLoc(loc); return;}
break; case 'City':
if(typeof city[val] != 'undefined') { var locations = city[val];} else { disableLoc(loc); return;}
break; case '<?php echo $filter_by_cust2 ?>':
if(typeof filter2[val] != 'undefined') { var locations = filter2[val];} else { disableLoc(loc); return;}
break;}
enableLoc(loc); clearList(loc); if ( typeof locations != 'undefined' && locations.length > 0 ) { for (c=0; c < locations.length; c++) { var newOpt = document.createElement("OPTION"); newOpt.text = locations[c]; newOpt.value = locations[c]; document.mtdrilldown.elements['dd'+loc].options[c+1] = newOpt;}
}
}
function disableLoc(id) { gebid('dd'+id).disabled=true;}
function enableLoc(id) { gebid('dd'+id).disabled=false;}
function clearList(id) { var clength = gebid('dd'+id).length; for(var i=(clength-1);i>=0;i--) { gebid('dd'+id).remove(i);}
var newOpt = document.createElement("OPTION"); newOpt.value = ''; switch(id) { <?php if( $filter_by_cust1 <> '0' ) { ?>
case '<?php echo $filter_by_cust1 ?>':
newOpt.text = '<?php echo $caption_cust1 ?>'; break; <?php } ?>
<?php if( $filter_by_cust2 <> '0' ) { ?>
case '<?php echo $filter_by_cust2 ?>':
newOpt.text = '<?php echo $caption_cust2 ?>'; break; <?php } ?>
case "Country":
newOpt.text = '<?php echo $caption_country ?>'; break; case "State":
newOpt.text = '<?php echo $caption_state ?>'; break; case "City":
newOpt.text = '<?php echo $caption_city ?>'; break;}
document.mtdrilldown.elements['dd'+id].options[0] = newOpt;}
function gebid(id){return document.getElementById(id);}
function NormalizeAccents(text) { var i, ac, nc; ac = 'бдвагйлкинпомуцфтъ&\щзс%$БДВАГЙЛКИНПОМУЦФТХЪЬЫЩЗСЭ'; nc = 'aaaaaeeeeiiiiooooouuuucnyyAAAAAEEEEIIIIOOOOOUUUUCNY'; for (i = 0; i < ac.length; i++) { text = text.replace(ac.charAt(i), nc.charAt(i));}
return text;}
</script>
<form action="<?php echo sefRelToAbs($mosConfig_live_site) /*sefRelToAbs("index.php")*/; ?>" method="post" name="mtdrilldown" style="padding:0px; margin:0px;" >
<?php
echo '<input type="text" name="link_desc" size="20" class="inputbox"  value="'. $text .'"  onblur="if(this.value==\'\') this.value=\''. $text .'\';" onfocus="if(this.value==\''. $text .'\') this.value=\'\';" />'; ?>
<?php echo $lists['countries']; ?>
<?php if( $filter_by_state ) { ?>
<select name="state" class="inputbox" size="1" id="ddState" <?php if( $filter_by_city ) echo "onChange=\"loadLoc(this,'City')\" " ?>disabled>
<option value="" selected="selected"><?php echo $caption_state ?></option>
</select>
<?php } ?>
<?php if( $filter_by_city && $filter_by_state ) { ?>
<select name="city" class="inputbox selectCity" size="1" id="ddCity" disabled>
<option value="" selected="selected"><?php echo $caption_city ?></option>
</select>
<?php } ?>
<?php if ( $filter_by_cust1 <> '0') echo $lists['filter1']; ?>
<?php if ( $filter_by_cust1 <> '0' && $filter_by_cust2 <> '0' ) { ?>
<select name="<?php echo $filter_by_cust2 ?>" class="inputbox" size="1" id="dd<?php echo $filter_by_cust2 ?>" disabled>
<option value="" selected="selected"><?php echo $caption_cust2 ?></option>
</select>
<?php } ?>
<?php
?>
<br><input type="submit" value="Поиск" class="button" />
<input type="hidden" name="Itemid" value="<?php echo $Itemid ?>" />
<input type="hidden" name="option" value="com_mtree" />
<input type="hidden" name="task" value="advsearch2" />
</form><?php
if(sizeof($loc_countries)<=2){ ?>
<script language="Javascript">
loadLoc2(document.mtdrilldown.country.options[1].value,"State"); </script>
<?php } ?>
!!!???!!!
*

Adeptus

  • Завсегдатай
  • 1861
  • 219 / 15
Re: Новый модуль поиска для MosetsTree 2.XX
« Ответ #9 : 10.06.2009, 17:41:38 »
А почта где ? 

Там же, где всегда - моем профайле.
*

dimko300

  • Захожу иногда
  • 61
  • 1 / 0
Re: Новый модуль поиска для MosetsTree 2.XX
« Ответ #10 : 10.06.2009, 20:13:55 »
Там она закрыта! Я попробовал написать через внутреннюю почту сайта ( по ссылке из профайла), но помоему безуспешно! Может быть Вы мне тест отправите на мою почту? kokorind@mail.ru
*

Adeptus

  • Завсегдатай
  • 1861
  • 219 / 15
Re: Новый модуль поиска для MosetsTree 2.XX
« Ответ #11 : 10.06.2009, 20:21:16 »
adeptus@adeptsite.info
*

timonnn

  • Захожу иногда
  • 366
  • 15 / 0
Re: Новый модуль поиска для MosetsTree 2.XX
« Ответ #12 : 12.06.2009, 23:10:20 »
Adeptus, а можно данный модуль переделать под 1.5?
*

Adeptus

  • Завсегдатай
  • 1861
  • 219 / 15
Re: Новый модуль поиска для MosetsTree 2.XX
« Ответ #13 : 13.06.2009, 14:46:47 »
Adeptus, а можно данный модуль переделать под 1.5?

Можно.
*

dimko300

  • Захожу иногда
  • 61
  • 1 / 0
Re: Новый модуль поиска для MosetsTree 2.XX
« Ответ #14 : 17.06.2009, 17:08:46 »
Цитировать
adeptus@adeptsite.info
Ну и сколько на него можно писать? Ответ то будет или нет? Или задача для Вас не выполнима? ;)
*

Adeptus

  • Завсегдатай
  • 1861
  • 219 / 15
Re: Новый модуль поиска для MosetsTree 2.XX
« Ответ #15 : 17.06.2009, 17:29:07 »
Ну и сколько на него можно писать? Ответ то будет или нет? Или задача для Вас не выполнима? ;)

Ровным счетом ничего я от вас не получал.
*

dimko300

  • Захожу иногда
  • 61
  • 1 / 0
Re: Новый модуль поиска для MosetsTree 2.XX
« Ответ #16 : 17.06.2009, 18:31:35 »
Вот прямо сейчас отправлю еще раз, посмотрите пожалуйста!!!
- Отправил!!!!
« Последнее редактирование: 17.06.2009, 18:35:29 от dimko300 »
*

portal

  • Захожу иногда
  • 50
  • 0 / 0
Re: Новый модуль поиска для MosetsTree 2.XX
« Ответ #17 : 04.02.2011, 00:45:35 »
не понятно, ни один сайт полигон не работает, где 't тогда посмотреть в работе?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как добавить к title mosetstree в конце чтобы выводилась любой мой текст?

Автор bogdanmedia

Ответов: 0
Просмотров: 15492
Последний ответ 07.01.2019, 15:36:13
от bogdanmedia
Модуль (Лучшие материалы)

Автор sinij

Ответов: 0
Просмотров: 644
Последний ответ 27.10.2017, 15:25:20
от sinij
Не создается новый профиль

Автор Sambola

Ответов: 0
Просмотров: 1243
Последний ответ 24.07.2016, 00:45:39
от Sambola
Русский язык для MosetsTree

Автор alex_rus

Ответов: 64
Просмотров: 41174
Последний ответ 29.11.2015, 14:51:32
от 12mv
Вывести модуль Joomla в файле sub_listingDetails.tpl.php

Автор rafaello9

Ответов: 3
Просмотров: 1958
Последний ответ 07.04.2014, 13:53:14
от ivan.andreyev