Вы не зашли.
Здравствуйте, как можно реализовать данную возможность, поиски по форуму ничего не дали, кроме подобных вопросов.
Для каждого поля/переменной выделено своё поле в бд, подскажите, пожалуйста, куда копать или поделитесь своими наработками по теме.
Буду благодарен за совет.
Не в сети
Просмотрев этот плагин обнаружил, что данные хранятся в виде сериализованного массива PHP (unserialize(). serialize()), чисто теоритически необходимо бежать по всем строкам новостей и разбирать данные в суперглобальный массив, к которому в последствии мы сможем иметь доступ.
но при огромном количестве данных (новостей), база будет жутко лагать, поэтому надо подумать над оптимизацией. Или переписывать этот плагин, для того чтобы он создавал все поля в отдельной таблице.
на досуге возможно займсуь этим вопросом.
Не в сети
Просмотрев этот плагин обнаружил, что данные хранятся в виде сериализованного массива PHP (unserialize(). serialize()), чисто теоритически необходимо бежать по всем строкам новостей и разбирать данные в суперглобальный массив, к которому в последствии мы сможем иметь доступ.
но при огромном количестве данных (новостей), база будет жутко лагать, поэтому надо подумать над оптимизацией. Или переписывать этот плагин, для того чтобы он создавал все поля в отдельной таблице.
на досуге возможно займсуь этим вопросом.
Я пока не силен в php и возможно не так вас понял, данные там можно хранить не только в виде сериализованного массива PHP (поле xfields) и выделять под переменную своё поле (xfields_название_переменной) в базе данных (таблице ng_news), причем, хранение переменной в отдельном поле не исключает хранения её значения в "сериализованном массиве PHP".
спасибо, что откликнулись.
Изменено nevermind (2010-05-18 16:46:39)
Не в сети
Sum, существует новая версия плагина xfields, которая выложена только в SVN и может работать только с SVN версией двига.
Вот как раз в новой версии реализована возможность хранения конкретных полей в отдельных полях БД.
Не в сети
nevermind, вот тебе готовый плагин, который фильтрует новости по полю в БД таблицы news, которое создает на этапе инсталляции. Код вполне себе понятный, копать в сторону функции news_showlist из news.php, которой необходимо передать фильтр и она в свою очередь вернет новости, удовлетворяющие заданному критерию (в плагине критерий - полное совпадение).
Сделать такой же плагин, который будет фильтровать по другим полям, хранящимся в базе (в частности поля, создаваемые плагином xfields) труда не составит.
Не в сети
nevermind, вот тебе готовый плагин, который фильтрует новости по полю в БД таблицы news, которое создает на этапе инсталляции. Код вполне себе понятный, копать в сторону функции news_showlist из news.php, которой необходимо передать фильтр и она в свою очередь вернет новости, удовлетворяющие заданному критерию (в плагине критерий - полное совпадение).
Сделать такой же плагин, который будет фильтровать по другим полям, хранящимся в базе (в частности поля, создаваемые плагином xfields) труда не составит.
Спасибо за помощь, пока сделал временный костыль в форме поиска(пришлось поизголяться над search.php, добавил в обработку нужных полей ), так как недоразобрался с логикой построения плагинов, выглядит теперь это так:
http://valar.ru/gallery/0610/search.jpg
даже вроде работает:)
Изменено nevermind (2010-06-07 13:07:45)
Не в сети
Вообще правильно, добавлять поддержку поиска по xfields нужно в search.php, но по хорошему (чтобы не баловаться хаками самого движка) неплохо бы вынести функционал поиска в отдельный плагин, в настройках которого можно будет выбирать необходимые поля из xfields, которые будут появляться на форме поиска.
Не в сети
1. Тот кому это нужно сам пишет плагин.
2. Тот кому это нужно создает ТЗ и кидает его в платные разработки плагинов.
3. Тот кому это нужно ждет пока найдется человек из пункта 1 или 2.
Не в сети