0 Пользователей и 1 Гость просматривают эту тему.
  • 20 Ответов
  • 558 Просмотров
*

Absalem

  • Осваиваюсь на форуме
  • 35
  • 0
Добрый день! Помогите, пожалуйста, я только начинаю изучать Joomla и php, и еще много не понимаю.
Как мнеправильно получать параметры из модуля, если они там в таком виде храняться? (вывела через print_r)

Joomla\Registry\Registry Object ( [data:protected] => stdClass Object ( [peoples] => stdClass Object (
[peoples0] => stdClass Object ( [name] => Человек Номер Один [description] => Описание человека номер один. [sort] => 1 [myimage] => images/persons/person-1.jpg )
[peoples2] => stdClass Object ( [name] => Человек номер два [description] => Описание человека номер два [sort] => 2 [myimage] => images/persons/person-2.png )
[peoples3] => stdClass Object ( [name] => Человека номер три [description] => Описание человека номер три [sort] => 3 [myimage] => images/persons/person-3.jpg ) )
[module_tag] => div [bootstrap_size] => 0 [header_tag] => h3 [header_class] => [style] => 0 ) [separator] => . )
Т.е. например мне нужно получить имя и фотку человека номер два, как мнеправильно это сделать?
Заранее спасибо!
*

robert

  • Профи
  • 4078
  • 376
Код: php-brief
$peoples=$params->get('peoples',null);//$params - это JRegistry-объект
$фотка_человека_номер_два=$peoples->peoples2->myimage;
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
*

Absalem

  • Осваиваюсь на форуме
  • 35
  • 0
Спасибо большое! Вы мне очень помогли!
*

Absalem

  • Осваиваюсь на форуме
  • 35
  • 0
Код: php-brief
$peoples=$params->get('peoples',null);//$params - это JRegistry-объект
$фотка_человека_номер_два=$peoples->peoples2->myimage;
А не подскажете еще, как узнать количество человеков?) типа $peoples->lenght или что-то такое есть?
*

beliyadm

  • Профи
  • 8368
  • 1527
  • Севастополь == Россия
не?
Код: php
echo count($peoples);
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
*

Absalem

  • Осваиваюсь на форуме
  • 35
  • 0
единичку выводит, а должно быть по идее три
*

Absalem

  • Осваиваюсь на форуме
  • 35
  • 0
не?
Код: php
echo count($peoples);
единичку выводит, а должно быть по идее три
*

robert

  • Профи
  • 4078
  • 376
Код: php-brief
echo count((array)$peoples);
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
*

beliyadm

  • Профи
  • 8368
  • 1527
  • Севастополь == Россия
Код: php-brief
echo count((array)$peoples);
чего? Где такой синтаксис существует?
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
*

robert

  • Профи
  • 4078
  • 376
чего? Где такой синтаксис существует?
в PHP. А что не так?
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
*

beliyadm

  • Профи
  • 8368
  • 1527
  • Севастополь == Россия
в PHP. А что не так?
Ну мне кажется что $peoples это и так уже приходит массив, зачем его создавать заново? А тем более у вас с скобками явно не то, если уж создание массива то array(el)
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
*

SmokerMan

  • Профи
  • 5333
  • 689
единичку выводит, а должно быть по идее три
правильно, потому что там объект, а не массив
Код
$count = 0;
foreach ($peoples as $value) {
    if (isset($value->name)) {
        $count++;
    }
}
echo $count;
*

beliyadm

  • Профи
  • 8368
  • 1527
  • Севастополь == Россия
правильно, потому что там объект, а не массив
эффектный apic fail :)
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
*

SmokerMan

  • Профи
  • 5333
  • 689
эффектный apic fail :)
ну типа того)
Код
$peoples = JArrayHelper::fromObject($peoples);
$count = 0;
foreach ($peoples as $key => $value) {
    if (strpos($key, 'peoples')!== false) {
        $count++;
    }
}
echo $count;

*

Shustry

  • Группа развития
  • 6430
  • 735
  • Рисую дизайны
Joomla\Registry\Registry Object ( [data:protected] => stdClass Object ( [peoples] => stdClass Object (
[peoples0] => stdClass Object ( [name] => Человек Номер Один [description] => Описание человека номер один. [sort] => 1 [myimage] => images/persons/person-1.jpg )
[peoples2] => stdClass Object ( [name] => Человек номер два [description] => Описание человека номер два [sort] => 2 [myimage] => images/persons/person-2.png )
[peoples3] => stdClass Object ( [name] => Человека номер три [description] => Описание человека номер три [sort] => 3 [myimage] => images/persons/person-3.jpg ) )
[module_tag] => div [bootstrap_size] => 0 [header_tag] => h3 [header_class] => [style] => 0 ) [separator] => . )
Тут же массив объектов. count($peoples) должно три возвращать.
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!
*

b2z

  • Support Team
  • 7469
  • 742
  • Разраблю понемногу
Тут же массив объектов. count($peoples) должно три возвращать.
Где массив?
[peoples] => stdClass Object

Код: php
Joomla\Registry\Registry Object ( 
[data:protected] => stdClass Object (
[peoples] => stdClass Object (
[peoples0] => stdClass Object ( [name] => Человек Номер Один [description] => Описание человека номер один. [sort] => 1 [myimage] => images/persons/person-1.jpg )
[peoples2] => stdClass Object ( [name] => Человек номер два [description] => Описание человека номер два [sort] => 2 [myimage] => images/persons/person-2.png )
[peoples3] => stdClass Object ( [name] => Человека номер три [description] => Описание человека номер три [sort] => 3 [myimage] => images/persons/person-3.jpg )
)
[module_tag] => div
[bootstrap_size] => 0
[header_tag] => h3
[header_class] =>
[style] => 0
)
[separator] => .
)

Можно ещё так посчитать
Код: php
$count = count(get_object_vars($peoples));
Цитировать
get_object_vars возвращает ассоциативный массив нестатических свойств объекта object, доступных в данной области видимости. Если свойству не было присвоено значение, оно будет возвращено со значением NULL.

http://stackoverflow.com/questions/1314745/php-count-an-stdclass-object
*

SmokerMan

  • Профи
  • 5333
  • 689
Можно ещё так посчитать
Код: php
$count = count(get_object_vars($peoples));
только он так все свойства посчитает, а не конкретно peoples)
*

b2z

  • Support Team
  • 7469
  • 742
  • Разраблю понемногу
только он так все свойства посчитает, а не конкретно peoples)
Само собой, просто в этом случае работает, так как в peoples только peoples :)
*

robert

  • Профи
  • 4078
  • 376
А тем более у вас с скобками явно не то, если уж создание массива то array(el)
А я массива с элементом el и не создаю.
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
*

beliyadm

  • Профи
  • 8368
  • 1527
  • Севастополь == Россия
А я массива с элементом el и не создаю.
это был просто пример, что у вас скобки неправильно стоят
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
*

robert

  • Профи
  • 4078
  • 376
у вас скобки неправильно стоят
Ладно, убеждать не буду.
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Написание плагина оплаты

Автор rkron

Ответов: 0
Просмотров: 164
Последний ответ 02.03.2017, 10:25:28
от rkron
Как принимать значения кастомных полей в

Автор eugenex

Ответов: 14
Просмотров: 562
Последний ответ 03.04.2016, 22:55:31
от eugenex
обновление модуля

Автор jmaf

Ответов: 1
Просмотров: 304
Последний ответ 02.11.2015, 10:19:44
от b2z
переопределение языковой переменной на в

Автор Aeliot

Ответов: 3
Просмотров: 526
Последний ответ 24.04.2014, 13:51:54
от Aeliot
5 простых способов “ускорения” сайта

Автор boston

Ответов: 28
Просмотров: 32998
Последний ответ 15.04.2014, 15:48:21
от atkaa1