Хочется подробностей про конфликт модуля с тем, что в модуле вообще не используется.Да там есть ньюансы, связанные с конфликтом со smarty.
Живой поиск (с картинками)
#41
Отправлено 28 February 2012 - 06:36 PM
#42
Отправлено 18 March 2012 - 02:44 AM
---------- Сообщение объединено ----------
разобрался - это не код выводился а альт от фото потому что был неправильный путь к файлам изображения.
Магазин установлен в папке shop а значит в head.tpl.html путь должен содержать эту папку.
З.Ы. ИМХО зачем в альте код товара. Там наименование товара должно быть или название файла.... Как думаете?
#43
Отправлено 18 March 2012 - 04:17 PM
Я уже не помню, почему там код товара. Скорее всего, остался от чьего-то (DBus?) исходника-образца, а я на тот момент еше плохо в этом всем разбирался, поэтому не стал удалять непонятное. Типа, оно есть, но не мешает - и слава богу. Там, насколько помню, каждый row[n] что-то означает - код товара, название товара, имя файла с картинкой... Т.е. надо просто ненужые row убрать в devsearch.php и ява-функции или поставить вместо них нужные.З.Ы. ИМХО зачем в альте код товара. Там наименование товара должно быть или название файла.... Как думаете?
PS. Мы же вроде "на ты". Не?
#44
Отправлено 18 March 2012 - 05:02 PM
PS. Мы же вроде "на ты". Не?
Ну да мы на "ты" но я обращался ко всем ))) т.е. интересно мнение может я не прав на счет альта. Ну себе я наименование товара поставил, тоже самое что и в тайтле.
#45
Отправлено 18 March 2012 - 05:15 PM
У меня сложилось впечатление (именно впечатление, еще со времен, когда я перестал быть программистом и стал... эээ... бизнесьменом), что ALT= это заместитель картинки. Т.е. если клиент у себя запретил показ картинок (например, интернет помегабайтный и медленный, через свисток), то ему выводится текст из ALT вместо картинки. Но вот что писать в ALT наиболее правильно - хрен его знает. В большинстве случаев (поубивал бы) там название картинки, а оно вообще ни о чем. А вот выбор между кодом или названием... хм... ИМХО, логичнее туда писать и то, и другое .т.е. интересно мнение может я не прав на счет альта. Ну себе я наименование товара поставил, тоже самое что и в тайтле
В данном же случае, когда рядом и так есть название товара с ценой я даже не знаю, что же правильно будет писать в ALT. Возможно, что и вообще ничего.
#46
Отправлено 18 March 2012 - 05:31 PM
Возможно, что и вообще ничего.
Да наверное пофиг что туда писать.... скорее всего ничего т.к. название все равно есть. Или может код - его там нет ))) ..... ну все равно картинки есть так что не принципиально
#47
Отправлено 20 March 2012 - 05:31 PM
У меня один вопрос -я так понял индексируются поиском только товары с картинками?
Можно ли как то "заставить" показывать все товары.. выводить заглушку просто.
У меня много позиций и проблему наполнения я собираюсь решать уже по ходу работы.
Заранее спасибо за ответ!
#48
Отправлено 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)", так что можно набирать в поиске любое из вхождений и смотреть.
#49
Отправлено 21 March 2012 - 11:16 AM
Кодировка у меня везде cp1251. С конвертированием iconv вообще не находит ничего. Без конвертирования русские не ищет.
В логах пишет такое если искать слово "фото"
"GET /devsearch.php?q=%D1%84%D0%BE%D1%82%D0%BE&limit=30×tamp=1332320390584 HTTP/1.1" 200 "
Пробовал функцию - encodeURI() не помогает (я не силен в ПХП)
Строка в Декодере Лебедева:
Как нам пришлось помучиться
URL-encoded ? UTF-8
Может посоветуете что попробовать?
#50
Отправлено 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-доступа, я гляну.
#51
Отправлено 21 March 2012 - 08:03 PM
Здесь убрал charset=CP1251
header("Content-Type: text/html");
Далее заменил UTF8 на UTF-8
Всем биг сенкс! ))
#52
Отправлено 21 March 2012 - 08:13 PM
#53
Отправлено 27 March 2012 - 07:17 PM
Вот я тормоз-то . Этот файлик есть у каждого в /data/, совершенно излишне его как-то отдельно сохранять и включать под другим именем в архив с модулем. Доеду до цивилизации - выложу версию devsearch.php c учетом этого момента.2. файлик no_picture.gif надо положить в каталог /data/small
Это картинка для товаров, у которых нет своего дефолтового изображения. В вашем случае все проще некуда - этот файлик я взял с Вашего сайта (test.astech.com.ua/data/empty.gif), переименовал и положил в /data/small.
#54
Отправлено 28 March 2012 - 03:54 PM
Выложил. А также привел шапку в соответствие с последней версией.Доеду до цивилизации - выложу версию devsearch.php c учетом этого момента.
#55
Отправлено 30 March 2012 - 07:16 PM
У меня сложилось впечатление (именно впечатление, еще со времен, когда я перестал быть программистом и стал... эээ... бизнесьменом), что ALT= это заместитель картинки. Т.е. если клиент у себя запретил показ картинок (например, интернет помегабайтный и медленный, через свисток), то ему выводится текст из ALT вместо картинки. Но вот что писать в ALT наиболее правильно - хрен его знает. В большинстве случаев (поубивал бы) там название картинки, а оно вообще ни о чем. А вот выбор между кодом или названием... хм... ИМХО, логичнее туда писать и то, и другое .
В данном же случае, когда рядом и так есть название товара с ценой я даже не знаю, что же правильно будет писать в ALT. Возможно, что и вообще ничего.
Все верно, человек с отключенными картинками там и должен прочитать о том что нарисовано на этой картинке - поэтому наименованию товара, обычно , как раз там и место (без лишнего мусора). А когда вы ищете картинки в поисковике он как раз по альтам вам их и подсовывает - а еще много полезного про опимазацию картинок можно прочитать в статье продвижение картинками
P.S как под хайд ссылки класть теперь ?
#56
Отправлено 30 March 2012 - 07:41 PM
1.Разумно. Неспешно поменяю ALT= с кода на название. Это ж одна циферка индекса массива, насколько я помню код.А когда вы ищете картинки в поисковике он как раз по альтам вам их и подсовывает - отсюда и название продвижение картинками.
2.Эти картинки (в этом месте!) врядли доступны поисковикам. Что-то мне не верится, что Яндекс или Гугл будут что-то набирать в поисковой строке сайта, а по другому эти ALT= не получить. Так что В ДАННОМ СЛУЧАЕ поисковик мимо кассы. Он никогда не узнает, какой в данном случае у картинки был ALT .
#57
Отправлено 30 March 2012 - 08:53 PM
.Эти картинки (в этом месте!) врядли доступны поисковикам.
Да кому оно нада альты картинок не то что в результатах поиска, а еще и в "выпадающем" списке......... пофиг что там будет выводиться, код товара ИМХО лучше т.к. наименование и так есть, как ты говорил, а у меня теперь их 2 )))))) а так бы если нет картинки выводится код товара - какаято доп. инфа.
#58
Отправлено 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. при нажатии на товар и поиска в поле между словами вставляется "e и поиск соответсвенно поиск ничего не находит..
#59
Отправлено 02 April 2012 - 12:46 AM
PS. Отвечаю на вопрос из лички: модуль работает и с английским, и с национальным языком. По крайней мере, у меня он вполне русско-анлийско ищет. Скорее всего, придется заменить cp1251 на cp1252 или какая там у украинского языка кодовая страница, я просто не в курсе. Но это если вообще есть необходимость в функции iconv.
#60
Отправлено 02 April 2012 - 09:42 AM
Вопрос из лички решил тоже, поиск работает как на анг. так и на укр.
в поле для поиска вставляется " вместо " (кавычек) , и цена в доларах и евро, я думаю тут не в шаблоне проблема то, или я неправильно впилил штото =(
с ценой разобрался сам, подскажите только с " вместо " (кавычек)
Сообщение отредактировал R.Sergey: 13 April 2012 - 07:49 PM