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


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

Расширение поиска на связанные элементы.


Сообщений в теме: 20

#11 Ёшкин Кот

Ёшкин Кот

Отправлено 08 February 2018 - 21:23

Я стандартными средствами хочу воткнуть в индекс данные элемента. 

public function getSearchData() {
  --/тут мне надо склепать массив со всех данных элемента. И все будет шикааарно./--
  return $result;
}

Вот такие у меня на данный момент заморочки. Только что сел за это дело, но уже забодался. 

Если так сделаю - будет крутая система комплектов и доптоваров в карточке. Которые можно будет делать скрыто как складом и не публиковать их в поиск зато выдавать как комплекты.

О какая задумка.


  • 0

#12 CB9TOIIIA

CB9TOIIIA

Отправлено 08 February 2018 - 22:38

ну склепай - склей :)

    public function getSearchData()
    {
        if ($skuElem = $this->getList()->current()->get('_sku')) {
            return $mnogotexta . $skuElem->getValue();
        }
 
        return null;
    }

  • 0

#13 Ёшкин Кот

Ёшкин Кот

Отправлено 09 February 2018 - 11:04

Так.. сделал как умел. но что то не пашеть.. 

 

    public function getSearchData($params = array()) {
        
        $params   = $this->app->data->create($params);
        $items    = $this->_orderItems($this->_getRelatedItems($params), $params->get('order'));
        $result = "";

        foreach ($items as  $item) {
            $elements = $item->getElements();
            foreach ($elements as $element) {
                $result .= " " . $element->getElementData()->value;
            }
        }

        if ($result) {jbdump::log ($result, 0); return $result;}

        return false;
    }

Вся эта крякозабра по логу выдает следующее:

2018-02-09 12:51:26	87.252.225.118		relateditemsmain.php:49		0		 D01000A091 - B SET BSKK3-L хром   3UP44A00Y1 783-795x783-795x1950 Вход 761 мм BSKK3-80 R хром+транспарент   D01000A092 - B SET BSKK3-R   3UL77A00Y1 883-895x883-895x1950 Вход 761 мм BSKK3-90 L хром+транспарент   X070021 - Смеситель скрытого монтажа без переключателя NO 062.00  

То есть по идее оно запихнуло все, что надо в табличку. Но .. зараза.. не ищет.


Попробую $result = "'; убрать вообще.. Метод научного тыка -  ни шиша не поменялось.


Сообщение отредактировал Ёшкин Кот: 09 February 2018 - 11:16

  • 0

#14 CB9TOIIIA

CB9TOIIIA

Отправлено 09 February 2018 - 21:21

1. Нет лимита по полю? там 255 символов

2. А может reindex надо еще сделать?


  • 0

#15 Ёшкин Кот

Ёшкин Кот

Отправлено 09 February 2018 - 21:25

Так после реиндекса он и срабатывает. Как иначе мне загнать его простым способом еще.


  • 0

#16 CB9TOIIIA

CB9TOIIIA

Отправлено 09 February 2018 - 21:30

так обычно все же так работает? или нет? reindex простая операция - хоть раз в час запускай или в сутки.


  • 0

#17 Ёшкин Кот

Ёшкин Кот

Отправлено 09 February 2018 - 21:35

Ну да, Я де в коде написал дамп и он выдает только одну строчку. Только один раз срабатывает.. Буду тыкать пока не заработает.


  • 0

#18 CB9TOIIIA

CB9TOIIIA

Отправлено 09 February 2018 - 21:37

я не понимаю :) работает же или не так?


  • 0

#19 Ёшкин Кот

Ёшкин Кот

Отправлено 09 February 2018 - 22:02

Прикол.. Оно не работает при индексации. Только при сохранении итема. Что есть не хорошо


  • 0

#20 CB9TOIIIA

CB9TOIIIA

Отправлено 09 February 2018 - 22:12

Ну чекнуть содержимое, если пусто - добавить и 1 раз save, не катит?
  • 0




Click to return to top of page in style!