braun_alex
@braun_alex
Новичёк

Как обратиться к объекту в PHP и изменить 1 параметр?

Здравствуйте.

Вывожу модуль с отзывами в Joomla 3 компоненте. Необходимо обратитться к объекту и изменить "styleTestimonial": "default" на "styleTestimonial": "list".

Код для вызова модуля:
<div itemprop="reviewsBody">
		<?php //Выводим модуль по ID
			//jimport( 'joomla.application.module.helper' );
			$document = JFactory::getDocument();
			$renderer = $document->loadRenderer('module');
			$dbo = JFactory::getDBO();
			$dbo->setQuery("SELECT * FROM #__modules WHERE id='109' ");
			$module = $dbo->loadObject();
			print_r($module->params);
			//echo $module->params;
			//echo $module->id;
			echo '<hr>';
			echo $renderer->render($module, $params);
			print $module->params;
        ?>
	</div>


Ответ на print_r($module):
stdClass Object
(
    [id] => 109
    [asset_id] => 307
    [title] => Отзывы
    [note] => 
    [content] =>
    [ordering] => 1
    [position] => position-14
    [checked_out] => 564
    [checked_out_time] => 2019-10-07 04: 35: 19
    [publish_up] => 0000-00-00 00: 00: 00
    [publish_down] => 0000-00-00 00: 00: 00
    [published] => 1
    [module] => mod_zt_testimonial
    [access] => 1
    [showtitle] => 1
    [params] => {
        "loadTestimonial": "",
        "name": "1",
        "addDate": "1",
        "email": "0",
        "avatar": "1",
        "position": "1",
        "website": "0",
        "facebook": "1",
        "vkontakte": "1",
        "instagram": "1",
        "twitter": "0",
        "linkedin": "0",
        "google": "0",
        "printerest": "0",
        "raiting": "1",
        "styleTestimonial": "default",
        "descriptionAboutUs": "Description About Us",
        "item": "3",
        "pause": "2000",
        "autoHover": "true",
        "arrow": "0",
        "indicators": "1",
        "module_tag": "div",
        "bootstrap_size": "0",
        "header_tag": "h3",
        "header_class": "",
        "style": "0",
        "exclude_content": "1"
    }
    [client_id] => 0
    [language] => *
    [style] => none
)
  • Вопрос задан
  • 280 просмотров
Решения вопроса 1
irishmann
@irishmann
Научись пользоваться дебаггером
$json = json_decode($module->params);
$json->styleTestimonial = 'list';
$module->params = json_encode($json, JSON_PRETTY_PRINT);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Nc_Soft
$module-> params-> styleTestimonial = 'что угодно';
Ответ написан
braun_alex
@braun_alex Автор вопроса
Новичёк
Всем спасибо. Разобрался.

$module->params = json_decode($module->params, true);
$module->params['styleTestimonial'] = 'list';
$module->params = json_encode($module->params);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы