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


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

Radio элемент и условие вывода информации


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

#1 Serebro

Serebro

Отправлено 09 August 2015 - 11:42

Подскажите, каким образом можно осуществить условие вывода в шаблоне информации, в зависимости от состояние, например, Radio элемента?

 

т.е. if (Radio==0)

        "Hello world"

        else ...



#2 SmetDenis

SmetDenis

Отправлено 10 August 2015 - 07:34

Добрый день

 

Допустим что одно  из значений соответствует "yes".

Тогда можно использовать следующий код.

<?php
 
$checkbox = JString::trim(strip_tags($this->renderPosition('checkbox-position')));
 
if ($checkbox == 'yes') {
   echo 'Hello';
}

  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 Serebro

Serebro

Отправлено 10 August 2015 - 07:48

т.е. для элемента нужно будет заводить отдельную позицию в шаблоне?



#4 SmetDenis

SmetDenis

Отправлено 10 August 2015 - 08:09

Можно обойтись без позиции

 

$data = (array)$item->getElement('<ELEMENT_ID>')->data();
print_r($data); // проверять данные из элемента напрямую.

  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#5 Serebro

Serebro

Отправлено 10 August 2015 - 08:34

Спасибо, как я понимаю, есть еще решение обращения к элементу (видел на форуме):

 

$row->image=$item->elements['23854d4b-6536-4edd-95a3-022bf1c4908b']['file'];

где '23854d4b-6536-4edd-95a3-022bf1c4908b' идентификатор элемента изображения

 

только документацию не могу найти

 

 

getElement('<ELEMENT_ID>')

 

<ELEMENT_ID> - а его где брать?



#6 SmetDenis

SmetDenis

Отправлено 10 August 2015 - 09:27

По сути "$item->elements" - это тоже самое, но грубый вариант обращения к данным класса.
Рекомендую использовать метод getElement() т.к там используется "ленивая" загрузка данных о элементах.

- а его где брать?


Если использует JBZoo то в настройках элементов у типа материала, иначе смотрите файл
media\zoo\applications\<ПРИЛОЖЕНИЕ>\types\<ТИП МАТЕРИАЛА>.config
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#7 Serebro

Serebro

Отправлено 10 August 2015 - 09:29

Спасибо за ответы!



#8 radiant

radiant

Отправлено 11 January 2023 - 01:57

 

Можно обойтись без позиции

$data = (array)$item->getElement('<ELEMENT_ID>')->data();
print_r($data); // проверять данные из элемента напрямую.

Всем привет!
В моём случаи вышло так:

Array ( [option] => Array ( [0] => online [1] => elektronnaya ) [check] => 1 )

 

Каким кодом далее делать проверку переменных?

if ($data == 'online') {
   echo 'Hello';
} elseif ($data = 'elektronnaya') {
   echo 'Hi';
}

Так результата нет!


Сообщение отредактировал radiant: 11 January 2023 - 11:17

  • 0

#9 mmth

mmth

Отправлено 11 January 2023 - 10:32

Всем привет!
В моём случаи вышло так:

Array ( [option] => Array ( [0] => online [1] => elektronnaya ) [check] => 1 )

 

Каким кодом далее делать проверку переменных?

if ($data == 'online') {
   echo 'Hello';
}

Так результата нет!

 

вот ссылка на примеры, ликбез https://metanit.com/...torial/2.16.php и документация https://www.php.net/...types.array.php

 

а вот код который сработает при вашей $data

if ($data['option']) {
    foreach ($data['option'] as $option) {
        if($option == 'online'){
            echo 'Hello';
            break;
        }
    }
}

Сообщение отредактировал mmth: 11 January 2023 - 10:34

  • 0

#10 radiant

radiant

Отправлено 11 January 2023 - 11:26

Благодарю!

Тогда, получается (array) не нужен


  • 0




Click to return to top of page in style!