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


Фотография
- - - - -

Добавление информации в базу через php


Лучший Ответ axeld , 04 December 2014 - 09:59

Буду решать другим путем

Перейти к сообщению


  • Закрытая тема Тема закрыта
В теме одно сообщение

#1 axeld

axeld

Отправлено 02 December 2014 - 10:42

Здравствуйте Всем. Третий день не могу решить задачу.

У нас много товаров. 

Есть пользовательское поле (аналоги товаров)

Фильтр JBZoo Search ищет по этому полу и все хорошо находит.

 

Но появилась проблема.

Например в пользовательском поле написано (123.346) - это пример аналога товара запчастей.

 

Если в поиске (JBZoo Search) забить 123.346 - то все ok / но многие кто ищет запчасти будут искать 123346, то есть без точки. Конечно таким образом ничего не найти.

 

==

Моё решение. (Не самое лучшее)

1 Создать файл

2 Написать скрипт, чтобы он брал из базы все аналоги товаров и добавлял в это же поле номера без точек и гнекоторых других символов. Что бы получилось так (123.346 , 123346) . ЭТО СДЕЛАНО

3 Как в базу дописать готовый результат?

Я сделал так

 

<?php
// no direct access
defined('_JEXEC') or die;
 
require_once(JPATH_ADMINISTRATOR . '/components/com_zoo/config.php'); // подключаем Zoo
require_once(JPATH_BASE . '/media/zoo/applications/jbuniversal/framework/jbzoo.php');// подключаем JBZoo
JBZoo::init(); // инициализация
 
$zoo = App::getInstance('zoo');
$item = $zoo->table->item->get('13884');
$element = $item->getElement('be08ac54-524f-4a3f-b682-4b6d9e3f9f65'); // element id получаем так 
$data = (array)$element->data(); // получаем данные
 
// здесь скрипт производящий замену
 
$data[0]['value'] .= " , 2222"; // типа  2222 это нужный аналог
 
 
$element->bindData($data); // сохраняем данные обратно в элемент
$zoo->table->item->save($item); // сохраняем изменения в базу, переиндексация материала произойдет автоматически
==
Все это в цикле по всем товарам, все писать не стал. 
Все бы хорошо но так в базу не добавить. Как быть ?
 

 

 


  • 0

#2 axeld

axeld

Отправлено 04 December 2014 - 09:59   Лучший Ответ

Буду решать другим путем


  • 0




Click to return to top of page in style!