Jump to content


Photo
- - - - -

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


Best Answer Vseprosto , 30 March 2016 - 23:00

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

$item->getElement('f21fbd99-7be7-4963-84da-2d60117687a6')->render();
Go to the full post


  • This topic is locked This topic is locked
13 replies to this topic

#1 Vseprosto

Vseprosto
  • JBZoo User (rus)
  • User rate: 8.6
  • posts: 235
  • topics: 16

Posted 29 March 2016 - 18:10

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

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

а нужно его name

Attached Thumbnails

  • screenshot_2016_03_29_21_08_23.png

  • 0

#2 Cheren-dow

Cheren-dow
  • JBZoo User (rus)
  • User rate: 95.7
  • posts: 5060
  • topics: 31

Posted 29 March 2016 - 20:41

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

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

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

#3 Vseprosto

Vseprosto
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 8.6
  • posts: 235
  • topics: 16

Posted 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'));

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

Attached Thumbnails

  • screenshot_2016_03_30_00_02_31.png

Edited by Koder, 29 March 2016 - 21:06.

  • 0

#4 Vseprosto

Vseprosto
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 8.6
  • posts: 235
  • topics: 16

Posted 29 March 2016 - 21:13

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

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

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


  • 0

#5 Cheren-dow

Cheren-dow
  • JBZoo User (rus)
  • User rate: 95.7
  • posts: 5060
  • topics: 31

Posted 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
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 8.6
  • posts: 235
  • topics: 16

Posted 30 March 2016 - 14:03

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

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


Edited by Koder, 30 March 2016 - 14:04.

  • 0

#7 Vseprosto

Vseprosto
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 8.6
  • posts: 235
  • topics: 16

Posted 30 March 2016 - 14:07

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

Attached Thumbnails

  • screenshot_2016_03_29_21_08_23.png

  • 0

#8 fiction13

fiction13
  • JBZoo User (rus)
  • User rate: 272.6
  • posts: 604
  • topics: 23

Posted 30 March 2016 - 14:10

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

 

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

 

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


  • 0

#9 Vseprosto

Vseprosto
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 8.6
  • posts: 235
  • topics: 16

Posted 30 March 2016 - 14:17

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

внутри option

Attached Thumbnails

  • screenshot_2016_03_30_17_19_47.png

Edited by Koder, 30 March 2016 - 14:20.

  • 0

#10 Cheren-dow

Cheren-dow
  • JBZoo User (rus)
  • User rate: 95.7
  • posts: 5060
  • topics: 31

Posted 30 March 2016 - 14:19

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

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


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

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


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




Click to return to top of page in style!