Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

вывод своей переменой в twig


Recommended Posts

Доброго утра. Есть у меня файл - парсит курсы валют из xml, valute.php  В нём есть рабочая (получает значения) переменная $ruValue

я разместил файл valute.php по пути admin\controller\common так как планировал выводить значение в header

далее я в файле admin\view\template\common\header.twig пытаюсь вывести значение переменой {{ ruValue }}  и конечно ничего не выходит!

ВОПРОС: как правильно объявить данную переменную в admin\controller\common\header.php ?

Надіслати
Поділитися на інших сайтах


28.05.2022 в 05:17, vladimir911 сказал:

Доброго утра. Есть у меня файл - парсит курсы валют из xml, valute.php  В нём есть рабочая (получает значения) переменная $ruValue

я разместил файл valute.php по пути admin\controller\common так как планировал выводить значение в header

далее я в файле admin\view\template\common\header.twig пытаюсь вывести значение переменой {{ ruValue }}  и конечно ничего не выходит!

ВОПРОС: как правильно объявить данную переменную в admin\controller\common\header.php ?

В контроллере 

$data['ruValue'] = $this->load->controller('common/valute');

 

  • +1 1
Надіслати
Поділитися на інших сайтах

Например вот так в common/header

$data['ruValue']=$this->load->controller('common/valute');
 

Ну и конечно же  контроллер common/valute должен возвращать это значение

$ruValue = "....";
return $ruValue;

 

 

  • +1 1
Надіслати
Поділитися на інших сайтах


28.05.2022 в 08:29, adrozdiuk7 сказал:

Например вот так в common/header

$data['ruValue']=$this->load->controller('common/valute');
 

Ну и конечно же  контроллер common/valute должен возвращать это значение

$ruValue = "....";
return $ruValue;

 

 

Вроде все логично, более в файле valute.php я упростил запись контрольно до двух строк

$ruValue = "0,36";
return $ruValue;

в header.php  в контролере объявил

<?php
// *	@source		See SOURCE.txt for source and other copyright.
// *	@license	GNU General Public License version 3; see LICENSE.txt

class ControllerCommonHeader extends Controller {
	public function index() {
		$data['title'] = $this->document->getTitle();

		if ($this->request->server['HTTPS']) {
			$data['base'] = HTTPS_SERVER;
		} else {
			$data['base'] = HTTP_SERVER;
		}

		$data['description'] = $this->document->getDescription();
		$data['keywords'] = $this->document->getKeywords();
		$data['links'] = $this->document->getLinks();
		$data['styles'] = $this->document->getStyles();
		$data['scripts'] = $this->document->getScripts();
		$data['lang'] = $this->language->get('code');
		$data['direction'] = $this->language->get('direction');
      //моя переменная//
 $data['ruValue'] = $this->load->controller('common/valute');
		$this->load->language('common/header');

и наконец в header.twig  я указал переменную

<div class="container-fluid">

<p> курс рубля : {{ ruValue }}</p>

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

<div class="container-fluid">

   <p> курс рубля : </p>
   <br>
    <a href="#" id="button-menu" class="hidden-md hidden-lg"><span class="fa fa-bars"></span></a> 
</div>

 

Змінено користувачем vladimir911
Надіслати
Поділитися на інших сайтах


28.05.2022 в 13:03, vladimir911 сказал:

Вроде все логично, более в файле valute.php я упростил запись контрольно до двух строк

$ruValue = "0,36";
return $ruValue;

в header.php  в контролере объявил

и наконец в header.twig  я указал переменную

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

 

valute.php должен иметь вид

<?php 
class ControllerCommonValute extends Controller {
	public function index() {
		$ruValue = "0,36";
		return $ruValue;
	}
}

Не забывайте чистить кеш модификаторов.

  • +1 1
Надіслати
Поділитися на інших сайтах

отдельно благодарю bogdan281989 все сработало, но теперь не могу разобраться с return -  передается только почему то одна переменная

<?php 
class ControllerCommonValute extends Controller {
	public function index() {
      $euValue = "20";
      $dlValue = "19";
      $ruValue = "0,36";
      
	return $ruValue;
        return $euValue;
        return $dlValue;
	}
}

хоть в в файле header.php я указал 

$data['ruValue'] = $this->load->controller('common/valute');
$data['euValue'] = $this->load->controller('common/valute');
$data['dlValue'] = $this->load->controller('common/valute');

но на выходе в twig всем трем переменным присвоено значение 0,36

Змінено користувачем vladimir911
Надіслати
Поділитися на інших сайтах


Первый return прекращает дальнейшее выполнение функции.

Сложи все значения в массив и возвращай его.

$value['ru']='..';
$value['eu']='..';

В контроллере header

$data['value']= $this->loader->controller('common/valute');

В шаблоне

{{value.ru}}
{{value.eu}}
и т.д.

 

 

 

 

  • +1 1
Надіслати
Поділитися на інших сайтах


29.05.2022 в 11:18, adrozdiuk7 сказал:

Первый return прекращает дальнейшее выполнение функции.

Сложи все значения в массив и возвращай его.

$value['ru']='..';
$value['eu']='..';

В контроллере header

$data['value']= $this->loader->controller('common/valute');

В шаблоне

{{value.ru}}
{{value.eu}}
и т.д.

 

 

 

 

с массивом я уже понял, но не понял как return массива формируется ?

return ['ru','eu'];

так?или просто 

return $value;

 

Змінено користувачем vladimir911
Надіслати
Поділитися на інших сайтах


29.05.2022 в 11:56, vladimir911 сказал:

с массивом я уже понял, но не понял как return массива формируется ?

return ['ru','eu'];

так?

$value['ru']='..';
$value['eu']='..';

return $value;

 

  • +1 1
Надіслати
Поділитися на інших сайтах


<?php 
class ControllerCommonValute extends Controller {
	public function index($lang = 'ru') {
		$valutes = [
			'en' => '20',
			'dl' => '19',
			'ru' => '0.36'
		];

		return $valutes[$lang];
	}
}


//$data['ruValue'] = $this->load->controller('common/valute', 'ru');
//$data['euValue'] = $this->load->controller('common/valute', 'en');
//$data['dlValue'] = $this->load->controller('common/valute', 'dl');

 

Но лучше массив в common/header прописать т.к. контроллер подключается за 1-6мс

  • +1 1
Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.