Перейти к содержимому


Живой поиск (с картинками)


  • Вы не можете ответить в тему
Сообщений в теме: 205

#41 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 28 February 2012 - 06:36 PM

Да там есть ньюансы, связанные с конфликтом со smarty.

Хочется подробностей про конфликт модуля с тем, что в модуле вообще не используется.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#42 R.Sergey

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

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 18 March 2012 - 02:44 AM

badisoft, да за модуль тебе отдельная благодарность, наконец-то и у меня дошли руки его попробовать - поставил по инструкции - быстро работает все четко. Только в результатах вместо изображения выводится код товара.!?!?! Это я что-то не так поставил? или там действительно изменено

---------- Сообщение объединено ----------

разобрался - это не код выводился а альт от фото потому что был неправильный путь к файлам изображения.
Магазин установлен в папке shop а значит в head.tpl.html путь должен содержать эту папку.

З.Ы. ИМХО зачем в альте код товара. Там наименование товара должно быть или название файла.... Как думаете?
  • 0

#43 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 18 March 2012 - 04:17 PM

З.Ы. ИМХО зачем в альте код товара. Там наименование товара должно быть или название файла.... Как думаете?

Я уже не помню, почему там код товара. Скорее всего, остался от чьего-то (DBus?) исходника-образца, а я на тот момент еше плохо в этом всем разбирался, поэтому не стал удалять непонятное. Типа, оно есть, но не мешает - и слава богу. Там, насколько помню, каждый row[n] что-то означает - код товара, название товара, имя файла с картинкой... Т.е. надо просто ненужые row убрать в devsearch.php и ява-функции или поставить вместо них нужные.

PS. Мы же вроде "на ты". Не?
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#44 R.Sergey

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

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 18 March 2012 - 05:02 PM

PS. Мы же вроде "на ты". Не?


Ну да мы на "ты" но я обращался ко всем ))) т.е. интересно мнение может я не прав на счет альта. Ну себе я наименование товара поставил, тоже самое что и в тайтле.
  • 0

#45 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 18 March 2012 - 05:15 PM

т.е. интересно мнение может я не прав на счет альта. Ну себе я наименование товара поставил, тоже самое что и в тайтле

У меня сложилось впечатление (именно впечатление, еще со времен, когда я перестал быть программистом и стал... эээ... бизнесьменом), что ALT= это заместитель картинки. Т.е. если клиент у себя запретил показ картинок (например, интернет помегабайтный и медленный, через свисток), то ему выводится текст из ALT вместо картинки. Но вот что писать в ALT наиболее правильно - хрен его знает. В большинстве случаев (поубивал бы) там название картинки, а оно вообще ни о чем. А вот выбор между кодом или названием... хм... ИМХО, логичнее туда писать и то, и другое :).

В данном же случае, когда рядом и так есть название товара с ценой я даже не знаю, что же правильно будет писать в ALT. Возможно, что и вообще ничего.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#46 R.Sergey

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

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 18 March 2012 - 05:31 PM

Возможно, что и вообще ничего.


Да наверное пофиг что туда писать.... скорее всего ничего т.к. название все равно есть. Или может код - его там нет ))) ..... ну все равно картинки есть так что не принципиально
  • 0

#47 listoq

    Новичок

  • Download User
  • Pip
  • 8 сообщений
Репутация: 0
Начинающий

Отправлено 20 March 2012 - 05:31 PM

Большое спасибо за проделанную работу!
У меня один вопрос -я так понял индексируются поиском только товары с картинками?
Можно ли как то "заставить" показывать все товары.. выводить заглушку просто.
У меня много позиций и проблему наполнения я собираюсь решать уже по ходу работы.


Заранее спасибо за ответ!
  • 0

#48 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 20 March 2012 - 07:42 PM

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

Да, конечно. Это довольно старый модуль, чуть ли не первый мой опыт в PHP-писательстве, там по определению должны быть, как минимум, не оптимально сделанные моменты (каждый вызов функции show_price() это SQL-запрос, который начиная со второго запроса бессмысленен), так и ошибки. Найденное Вами - моя ошибка. Вот более новая версия devsearch.php.

header("Content-Type: text/html;charset=windows-1251");
require_once "core/config/connect.inc.php";
require_once "core/includes/database/".DBMS.".php";
require_once "core/functions/functions.php";
db_connect(DB_HOST,DB_USER,DB_PASS) or die (db_error());
db_select_db(DB_NAME) or die (db_error());
$q = xEscSQL (iconv('UTF8','CP1251',$_GET["q"]));
$data = db_query("SELECT t1.product_code,t1.name,t1.price,t2.filename
FROM ".DB_PRFX."products t1
LEFT JOIN ".DB_PRFX."product_pictures t2 ON t1.default_picture = t2.photoID
WHERE t1.name like '%$q%' AND t1.enabled = '1'
LIMIT ".$_GET['limit'])
or die( db_error() );
while( $row = db_fetch_assoc( $data ))
{echo $row['name']."|".$row['product_code']."|".show_price($row['price'],1)." / ".show_price($row['price'],2)."|".($row['filename']?$row['filename']:'no_picture.gif')."\n";}
db_disconnect();

1. "1" и "2" в аргументах функции show_price это CID-ы валют, которые можно посмотреть SQL-командой "select * from xxxx_currency_types".
2. файлик no_picture.gif надо положить в каталог /data/small
Это картинка для товаров, у которых нет своего дефолтового изображения. В вашем случае все проще некуда - этот файлик я взял с Вашего сайта (test.astech.com.ua/data/empty.gif), переименовал и положил в /data/small.
3. насколько я вижу, поиск по русским словам у Вас не работает. Скорее всего, это связано с функцией iconv, которая в Вашем случае (возможно!) не нужна.

Увидеть результат исправлений и переделок можно, как всегда, на тестовом сайте cpu.badisoft.ru.
Я там сделал товар "Тестовый товар без фотографии (pro digma bosh test)", так что можно набирать в поиске любое из вхождений и смотреть.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#49 listoq

    Новичок

  • Download User
  • Pip
  • 8 сообщений
Репутация: 0
Начинающий

Отправлено 21 March 2012 - 11:16 AM

Огромное спасибо. Получилось все кроме русских букв, хотя на вашем тестовом сайте все работает.
Кодировка у меня везде cp1251. С конвертированием iconv вообще не находит ничего. Без конвертирования русские не ищет.
В логах пишет такое если искать слово "фото"
"GET /devsearch.php?q=%D1%84%D0%BE%D1%82%D0%BE&limit=30&timestamp=1332320390584 HTTP/1.1" 200 "
Пробовал функцию - encodeURI() не помогает (я не силен в ПХП)
Строка в Декодере Лебедева:
Как нам пришлось помучиться

URL-encoded ? UTF-8

Может посоветуете что попробовать?
  • 0

#50 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 21 March 2012 - 06:43 PM

Может посоветуете что попробовать?

У меня на сервере присутствуют следующие кодировки (из интересных)
[root@shopcms]# iconv -l | grep UTF | grep 8
ISO-10646/UTF-8/
ISO-10646/UTF8/
UTF-8//
UTF8//
[root@shopcms]# iconv -l | grep 1251
CP1251//
WINDOWS-1251//
возможно, у Вас есть не все они. Попробуйте UTF-8 вместо UTF8 и/или windows-1251 вместо CP1251. Не получится - шлите в личку имя сайта и логин-пароль для FTP-доступа, я гляну.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#51 listoq

    Новичок

  • Download User
  • Pip
  • 8 сообщений
Репутация: 0
Начинающий

Отправлено 21 March 2012 - 08:03 PM

Победил ))
Здесь убрал charset=CP1251
header("Content-Type: text/html");


Далее заменил UTF8 на UTF-8

Всем биг сенкс! ))
  • 0

#52 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 21 March 2012 - 08:13 PM

наличие/отсутствие в header чарсета никак не влияет на поиск, оно для того, чтобы ПОСЛЕ ВЫПОЛНЕННОГО ПОИСКА результат показывался в нужной кодировке :).
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#53 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 27 March 2012 - 07:17 PM

2. файлик no_picture.gif надо положить в каталог /data/small
Это картинка для товаров, у которых нет своего дефолтового изображения. В вашем случае все проще некуда - этот файлик я взял с Вашего сайта (test.astech.com.ua/data/empty.gif), переименовал и положил в /data/small.

Вот я тормоз-то :). Этот файлик есть у каждого в /data/, совершенно излишне его как-то отдельно сохранять и включать под другим именем в архив с модулем. Доеду до цивилизации - выложу версию devsearch.php c учетом этого момента.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#54 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 28 March 2012 - 03:54 PM

Доеду до цивилизации - выложу версию devsearch.php c учетом этого момента.

Выложил. А также привел шапку в соответствие с последней версией.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#55 ecco

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

  • Download User
  • PipPip
  • 27 сообщений
Репутация: 11
Начинающий

Отправлено 30 March 2012 - 07:16 PM

У меня сложилось впечатление (именно впечатление, еще со времен, когда я перестал быть программистом и стал... эээ... бизнесьменом), что ALT= это заместитель картинки. Т.е. если клиент у себя запретил показ картинок (например, интернет помегабайтный и медленный, через свисток), то ему выводится текст из ALT вместо картинки. Но вот что писать в ALT наиболее правильно - хрен его знает. В большинстве случаев (поубивал бы) там название картинки, а оно вообще ни о чем. А вот выбор между кодом или названием... хм... ИМХО, логичнее туда писать и то, и другое :).

В данном же случае, когда рядом и так есть название товара с ценой я даже не знаю, что же правильно будет писать в ALT. Возможно, что и вообще ничего.


Все верно, человек с отключенными картинками там и должен прочитать о том что нарисовано на этой картинке - поэтому наименованию товара, обычно , как раз там и место (без лишнего мусора). А когда вы ищете картинки в поисковике он как раз по альтам вам их и подсовывает - а еще много полезного про опимазацию картинок можно прочитать в статье продвижение картинками
P.S как под хайд ссылки класть теперь ?
  • 0

#56 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 30 March 2012 - 07:41 PM

А когда вы ищете картинки в поисковике он как раз по альтам вам их и подсовывает - отсюда и название продвижение картинками.

1.Разумно. Неспешно поменяю ALT= с кода на название. Это ж одна циферка индекса массива, насколько я помню код.
2.Эти картинки (в этом месте!) врядли доступны поисковикам. Что-то мне не верится, что Яндекс или Гугл будут что-то набирать в поисковой строке сайта, а по другому эти ALT= не получить. Так что В ДАННОМ СЛУЧАЕ поисковик мимо кассы. Он никогда не узнает, какой в данном случае у картинки был ALT :).
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#57 R.Sergey

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

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 30 March 2012 - 08:53 PM

.Эти картинки (в этом месте!) врядли доступны поисковикам.


Да кому оно нада альты картинок не то что в результатах поиска, а еще и в "выпадающем" списке......... пофиг что там будет выводиться, код товара ИМХО лучше т.к. наименование и так есть, как ты говорил, а у меня теперь их 2 )))))) а так бы если нет картинки выводится код товара - какаято доп. инфа.
  • 0

#58 Степан

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

  • Assistent vsupport.club
  • PipPip
  • 16 сообщений
Репутация: -1
Начинающий

Отправлено 01 April 2012 - 11:58 PM

Помогите, проблема с установкой!!!
1. В core/tpl/user/[свой шаблон]/head.tpl.html уже есть выше строка
<script type="text/javascript" src="data/{$smarty.const.TPL}/jquery/jquery-1.4.2.min.js"></script>
какую из 2- оставлять?
2. В index.tpl не могу никак нормально настроить, код не такой как в инструкции криво получается
    <div class="bg_search fl_right ofh"><div class="search">
	
    <form action="index.php" method="get" name="formpoisk" id="formpoisk">{section name=sert loop=$searchstrings}<input type="hidden" name='search_string_{$smarty.section.sert.index}' value='{$searchstrings[sert]}'>{/section}<div class="input-width fl_left">
   <div class="width-setter">	   
<input type="text" name="searchstring" id="targetDiv" value="{$searchstring}">
   </div>
	    </div>
  <input type="image" src="data/{$smarty.const.TPL}/button_search_prod.gif" alt=""  class="button_search_prod fl_left" /></form>									   
    </div></div>
  
</div>

	 
</div>
<div class="bg_content">

</div>

3. Цена почему то в доларах и с бешеными ценами =(
4. при нажатии на товар и поиска в поле между словами вставляется &quote и поиск соответсвенно поиск ничего не находит..
  • 0

#59 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 02 April 2012 - 12:46 AM

Вы используете не дефолтовый, а какой-то другой шаблон. Я не могу (да и не хочу) остлеживать установку этого модуля во все возможные шаблоны, мне это попросту не интересно. Увы, либо разбирайтесь сами, либо обратитесь к тому, кто сделает быстро и без проблем, но за деньги.

PS. Отвечаю на вопрос из лички: модуль работает и с английским, и с национальным языком. По крайней мере, у меня он вполне русско-анлийско ищет. Скорее всего, придется заменить cp1251 на cp1252 или какая там у украинского языка кодовая страница, я просто не в курсе. Но это если вообще есть необходимость в функции iconv.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#60 Степан

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

  • Assistent vsupport.club
  • PipPip
  • 16 сообщений
Репутация: -1
Начинающий

Отправлено 02 April 2012 - 09:42 AM

с 1 пунктом я разобрался сам, удалил строку с jquery.min.js с вашего кода.
Вопрос из лички решил тоже, поиск работает как на анг. так и на укр.

в поле для поиска вставляется &quot; вместо " (кавычек) , и цена в доларах и евро, я думаю тут не в шаблоне проблема то, или я неправильно впилил штото =(

с ценой разобрался сам, подскажите только с &quot; вместо " (кавычек)

Сообщение отредактировал R.Sergey: 13 April 2012 - 07:49 PM

  • 0