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


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

Программное получение select


Лучший Ответ Vseprosto , 30 March 2016 - 23:00

Нашли решение 

$item->getElement('f21fbd99-7be7-4963-84da-2d60117687a6')->render();
Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 13

#1 Vseprosto

Vseprosto

Отправлено 29 March 2016 - 18:10

Как средствами API получить значение элемента типа select, при таком методе он выдает его алианс

$item->getElement('f21fbd99-7be7-4963-84da-2d60117687a6')->data();

а нужно его name

Прикрепленные изображения

  • screenshot_2016_03_29_21_08_23.png

  • 0

#2 Cheren-dow

Cheren-dow

Отправлено 29 March 2016 - 20:41

Koder, попробуйте следующий код:

$elemData = $item->getElement('917d6c5f-478a-4eac-824c-59cc45297ecd');
echo $elemData->getConfig()->get('name'); 

  • 0
Изображение
 

#3 Vseprosto

Vseprosto

Отправлено 29 March 2016 - 21:05

при таком варианте он отдает название самого элемента а не название параметра 

  1. $elemData = $item->getElement('917d6c5f-478a-4eac-824c-59cc45297ecd');echo $elemData->getConfig()->get('name'); 

если смотрим что внутри элемента, то он выводит все варианты которые в нем есть, а не для конкретного материала 

jbdump($item->getElement('f21fbd99-7be7-4963-84da-2d60117687a6'));

мне нужно получить имя значение выбранного селекта

Прикрепленные изображения

  • screenshot_2016_03_30_00_02_31.png

Сообщение отредактировал Koder: 29 March 2016 - 21:06

  • 0

#4 Vseprosto

Vseprosto

Отправлено 29 March 2016 - 21:13

дело в том что в 

$item->getElement('f21fbd99-7be7-4963-84da-2d60117687a6')->data();

не содержится название выбранного селекта только его алианс почему то


  • 0

#5 Cheren-dow

Cheren-dow

Отправлено 30 March 2016 - 08:51

Koder, в таком случае получить название можно следующим образом:

$elemData = $item->getElement('917d6c5f-478a-4eac-824c-59cc45297ecd');
$options = $elemData->getConfig()->get('option');

jbdump($options[0]['name']); // имя
jbdump($options[0]['value']); // значение 

  • 0
Изображение
 

#6 Vseprosto

Vseprosto

Отправлено 30 March 2016 - 14:03

Опять не то так же мы получаем первое доступное значение элемента а не то которое указано у товара.

Товары выводятся в цикле и соответственно у каждого будет свое значение


Сообщение отредактировал Koder: 30 March 2016 - 14:04

  • 0

#7 Vseprosto

Vseprosto

Отправлено 30 March 2016 - 14:07

Почему здесь нет названия параметра а только его алианс?

Прикрепленные изображения

  • screenshot_2016_03_29_21_08_23.png

  • 0

#8 fiction13

fiction13

Отправлено 30 March 2016 - 14:10

Вы посмотрите, как это сделано в элементе option, у Вас отпадут эти вопросы.

 

Почему здесь нет названия параметра а только его алианс?

 

Потому так работает этот элемент. 


  • 0

#9 Vseprosto

Vseprosto

Отправлено 30 March 2016 - 14:17

а как тогда получить значение элемента select именно для этого товара 

внутри option

Прикрепленные изображения

  • screenshot_2016_03_30_17_19_47.png

Сообщение отредактировал Koder: 30 March 2016 - 14:20

  • 0

#10 Cheren-dow

Cheren-dow

Отправлено 30 March 2016 - 14:19

Почему здесь нет названия параметра а только его алианс?

Потому что в селекте может быть несколько значений, что бы обратиться к какому то значению используйте ключ массива. 


а как тогда получить значение элемента select

В вашем первом сообщении решение. Получите данные и поместите в переменную а далее через ключ массива.


  • 0
Изображение
 




Click to return to top of page in style!