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


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

Как в подуле Joomla 3 получить данный из файла jbcurrency.xml?


Лучший Ответ Cheren-dow , 31 October 2014 - 23:24

в данной строке

"/home/xcby/_poligon.ikit.bymedia/zoo/applications/jbuniversal/config/jbcurrency.xml"

не хватает

"/home/xcby/_poligon.ikit.by/media/zoo/applications/jbuniversal/config/jbcurrency.xml"


Я же вам показал код где то исправленно

Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 21

#1 Ёшкин Кот

Ёшкин Кот

Отправлено 31 October 2014 - 20:00

$xmlfile = JPATH_BASE.'media/zoo/applications/jbuniversal/config/jbcurrency.xml';

$currencys = simplexml_load_file($xmlfile);
 

Возвращает пустое значение.

 

Как победить?

 

Модуль работает в админке. Пытаюсь дописать замену валют из админки.


Сообщение отредактировал Ёшкин Кот: 31 October 2014 - 20:01

  • 0

#2 Ёшкин Кот

Ёшкин Кот

Отправлено 31 October 2014 - 20:32

И тишина... 


  • 0

#3 Cheren-dow

Cheren-dow

Отправлено 31 October 2014 - 20:59

Ёшкин Кот, думаю вас стоит посмотреть на хелпер jbmoney.php

сайт\media\zoo\applications\jbuniversal\framework\helpers\jbmoney.php

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

#4 Ёшкин Кот

Ёшкин Кот

Отправлено 31 October 2014 - 21:24

Вся проблема в том, что строка, что я привел - работает! если скрипт стоит вне joomla. 

То есть все нормально получает, изменяет и так далее.

 

Но как только я запускаю это все в joomla - капец капецкий выходит. Белый экран с кусками кода и все.. даже ошибку не отловить.

 

$xml = simplexml_load_file($this->app->path->path('jbconfig:jbcurrency.xml')); делает то же самое. Но у меня оно почему то не пашет.


Сообщение отредактировал Ёшкин Кот: 31 October 2014 - 21:25

  • 0

#5 Ёшкин Кот

Ёшкин Кот

Отправлено 31 October 2014 - 21:37

Так все же - почему получаю пустое? пути правильно вроде. Даже если пропишу полный путь жестко - все равно получу пустое значение.

  • 0

#6 Cheren-dow

Cheren-dow

Отправлено 31 October 2014 - 22:30

Так все же - почему получаю пустое?

Я не знаю по чему у вас на выходе пустое значение.

Но как только я запускаю это все в joomla - капец капецкий выходит. Белый экран с кусками кода и все.. даже ошибку не отловить.

Вписал данную строку в Joomla в любое место у меня ни каких ошибок и белых экранов нет

9nh_200x0.png  

По поводу белого экрана читали статью?


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

#7 Ёшкин Кот

Ёшкин Кот

Отправлено 31 October 2014 - 22:31

Вот попробуйте это. 

Прикрепленные файлы


  • 0

#8 Cheren-dow

Cheren-dow

Отправлено 31 October 2014 - 22:33

Ёшкин Кот, если бы я делал данное решение я бы создал свой контроллер и на основании существующих сделал бы в нем нужный экшен, или же дописал бы экшен в существующий контроллер что на мой взгляд более правельнее. Где то уже писал - модуль по идее должен выводить информацию но не как не редактировать ее.


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

#9 Ёшкин Кот

Ёшкин Кот

Отправлено 31 October 2014 - 22:35

Проблема в том, что мое знание всего этого дела заключается в google 

 

У меня есть отдельно написаное решение, которое редактирует этот файлик. Я решил перенести его в модуль и допилить в нем. И повис на проблеме того, что не могу из joomla вытящить данные. Хотя простой файлик php в корне делает все, что мне надо.


  • 0

#10 Cheren-dow

Cheren-dow

Отправлено 31 October 2014 - 22:51

Ну вот есть контроллер конфигураций

сайт\media\zoo\applications\jbuniversal\framework\controllers\admin.jbconfig.php

создайте в нем новый метод например

	public function currencyEdit()
	{
		$this->renderView();
	}

Далее в папке 

сайт\media\zoo\applications\jbuniversal\framework\views\jbconfig

Создайте файл currencyedit.php с содержимым

<?php
// no direct access
defined('_JEXEC') or die('Restricted access');

?>

<div id="sidebar" class="uk-width-1-6">
    <?php echo $this->partial('navigation'); ?>
</div>

<div class="uk-width-4-6">

    <h2>Редактирование курса валют</h2>


    <?php echo $this->partial('footer'); ?>
</div>

Потом зайдите в админку по адресу

сайт/administrator/index.php?option=com_zoo&controller=jbconfig&task=currencyEdit

Будет пустая страничка

z9z_200x0.png

Если добавить строку загрузки файла и вывести - увидим

<?php
	$xml = simplexml_load_file($this->app->path->path('jbconfig:jbcurrency.xml'));
var_dump($xml);
	?>

n08_200x0.png

Можно добавить пункт меню для этого раздела зайдя в файл

сайт\media\zoo\applications\jbuniversal\framework\views\_navigation.php

и для раздела jbconfig дописать наш пункт меню

'jbconfig' => array(
        'jbzoo' => array(
            'index'     => array('index'),
            'yandexYml' => array('yandexYml'),
            'sef'       => array('sef'),
            'currencyEdit' => array('currencyEdit'), // наша страничка
        )
    ),

И все отается вам прикрутить ваш скрипт если он у вас есть. Мне кажется и ни какие модуля не нужны. Ну и по логике все по полочкам.


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




Click to return to top of page in style!