Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Поиск во Flash Сайте AS2 (http://www.flasher.ru/forum/showthread.php?t=137183)

Universe 06.03.2010 16:43

Поиск во Flash Сайте AS2
 
Как можно организовать поиск по сайту?
Например, есть магазин в котором есть 5 категорий, в каждой категории по 10 товаров.
Как сделать так, чтобы при введении информации в строку поиска показывались только те товары, которые удовлетворяют запросу?

in4core 06.03.2010 23:58

Я код писать не буду тут долго. Я расскажу тебе механизм.
1. Твои товары - это мувиклипы(желательно);
2. По написанию в строке текста ( для поиска) - и нажатия кнопки enter срабатывает некоторая функция.
3. А именно функция : которая через цикл(for) или кейсы(switch) проверяет совпадения либо по имени клипов, либо по каким либо другим атрибутам. Решать вам.
4. После всего этого запускается еще одна функция - а именно, прячет ненужные нам клипы, а оставляет те что мы отобрали. с помощью свойств ( _visible);
5/ Ну и наконец чтобы все смотрелось красиво. придется еще и мат алгоритм придумать., такой чтобы после поиска товары сдвигались.

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

mooncar 07.03.2010 00:14

Есть реализации поиска для флеша. Автору же не нужен сложный поиск по большим массивам текста, достаточно искать введенный текст только в названиях товаров и в описании, если нужно.
И вывод результатов тоже можно оформить списком с картинками-кнопками для перехода к карточку товара.
Кропотливая работа, но вполне реализуемая, и не требует SQL, PHP.

Вообще, все зависит от текущей архитектуры флеш-сайта - то ли у вас все названия-описания уже загружены во флеш (с помощью XML или еще как-то), то ли они подгружаются по выбору пользователя при необходимости.
Если же последнее, то тут без привлечения традиционных средств поиска на PHP (PHP + MySQL) не обойтись, так как пробивать базу названий-описаний на предмет нужного при каждом нажатии ввода довольно плохая идея. Поэтому можно вспомнить о принципе индексации, и искать нужное по запросу к готовому индексу. Так работают многие простейшие поисковые скрипты, их много лежит в инете. И тогда флеш будет служить просто для вывода (оформления) уже готового результата, не более (с возможностью перейти к нужному).

Universe 08.03.2010 20:31

Ситуация следующая:
Вся информация загружается сразу из одного XML документа, но показывается не одним списком, а есть категории...брюки, блузки и т.д.
Т.е. вы предлагаете названия всех товаров(т.е. ноды в XML) загружать в массив и осуществлять поиск по этому массиву, подгружая на страницу только те товары, которые совпадают с введённым текстом?

in4core 08.03.2010 21:41

Да именно так

Добавлено через 1 минуту
Пример XML файл, в нем узлы <item1 spec="брюки"> Пользователь делает поиск. если текст в поле == атрибуту узла, то показать этот итем. Все просто

mooncar 08.03.2010 22:32

Вложений: 1
Как-то, когда я только начинал, я использовал один готовый скрипт (урок и сам исходник нашел на http://www.flashist.ru/) для организации своего поиска по товарному каталогу, который сделал на флеше. Каталог загружался с CD-диска. В процессе поиска скрипт последовательно обращался к файлам с текстовыми данными.
Пользователь набирал в строке поиска искомое вхождение, и после нажатия кнопки "Искать" у меня выводился список товаров. Далее, по клику на интересующем товаре, осуществлялся переход на карточку товара, при этом сам список оставался незакрытым, чтобы можно было перейти к другой карточке.
У вас же ситуация попроще, поскольку все данные уже загружены, подгружать их в процессе работы поискового скрипта уже не нужно, остается только правильно организовать сам поиск и вывод результатов.

Вот вам скрипт поиска на AS, который я взял за основу, попробуйте доработать.

Universe 09.03.2010 00:38

in4core, mooncar - спасибо за помощь, ребята!:)
Попробую разобраться с тем что уже сказано, если что задам ещё парочку вопросов, ок?:)

in4core 09.03.2010 00:56

Задавай :)
Я не хочу обижать мункара , но есть мнение - поскольку ты задаешь вопросы и обсуждаешь их, то видимо ты разбираешься в написании кода, а поэтому советаю не брать чужие скрипты даже для доделки, а писать самому с нуля. ++Опыт, --Будущие проблемы)))
Код AS1/AS2:

var Опыт=undefined;
var Корзина=[];
while (Опыт<Желания) { ++Опыт; Корзина.push(Опыт+проекты)}
trace(Корзина); // .....


Universe 09.03.2010 01:37

да, прикольный скриптец, мне нравится, только вот:
Код AS1/AS2:

if(заказчик == deadline && опыт < желания)
{
    скрипты++;
    опыт ++;
    корзина ++;
}
else
{
    опыт ++;
    корзина.push;
    время --;
  скрипты._visible = false;
}

Вот так и живём!:)

in4core 09.03.2010 02:20

Вот только че пушим в корзину не написал))) скрипт работать будет неверно)))


Часовой пояс GMT +4, время: 21:16.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.