Гость
08 Июль 2016 12:59

Здравствуйте. Установил последнюю версию, зашел в настройки компонента, нажал сохранить, вывелась ошибка syntax error, unexpected '[' in ..librariesminthelper.php 48 line.

Открыл файл с ошибкой и увидел код

static public function loadLayout($name, $path)
    {
        $options = []; /* 48 line */
        $params  = JComponentHelper::getParams('com_emerald');

        if($params->get('tmpl_prefix'))
        {
            $options['suffixes'] = [$params->get('tmpl_prefix')]; /* 53 line */

        }

        return new JLayoutFile($name, $path, $options);
    }

Прикинув, что тут неправильно создается ассоциативный масив изменил код на:

    static public function loadLayout($name, $path)
    {
        /* $options = []; закоментировал строку так как масив можно создать на лету, однако прописывал еще так $options[]='' на случай, ессли пустой массив будет нужен. */
        $params  = JComponentHelper::getParams('com_emerald');

        if($params->get('tmpl_prefix'))
        {
            //$options['suffixes'] = [$params->get('tmpl_prefix')];
            $options['suffixes'] = $params->get('tmpl_prefix'); /* убрал [] скобки */
        }

        return new JLayoutFile($name, $path, $options);
    }

С таким кодом работает, но я не прогер особый поэтому не знаю правильное ли решение, может ктонибудь выскажет свое мнение?

Версия джумлы последняя 3,5. Сайт на локале на денвере php 5.3.

Последние изменения: 12 Июль 2016


Sergey
Total posts: 13,748
12 Июль 2016 03:51

Нет тут все правлиьно. Просто РНР немного староват.

Работает на Cobalt