Новости Joomla

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

Mick_20

  • Завсегдатай
  • 1002
  • 3 / 0
  • Что тут писать?
Подключил в материале файл со ссылками:
require_once('адрес к файлу');

Все работает. Джумловские фишки все тоже работают.

Но когда перехожу по ссылке в др файл, то фишки джумловские не работают.
Где мне надо чего дописать чтоб заработали?
« Последнее редактирование: 07.06.2014, 08:45:04 от b2z »
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Подключение фреймворка Joomla в стороннем файле:

Код: php
<?php
    /* Initialize Joomla framework */
    if (!defined('_JEXEC')) {
        define( '_JEXEC', 1 );
        define('JPATH_BASE', dirname(__FILE__) );
        define( 'DS', DIRECTORY_SEPARATOR );
        /* Required Files */
        require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
        require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
        /* To use Joomla's Database Class */
        require_once ( JPATH_BASE .DS.'libraries'.DS.'joomla'.DS.'factory.php' );
        require_once ( JPATH_LIBRARIES.DS.'joomla'.DS.'import.php'); // Joomla library imports.
        /* Create the Application */
        $app = JFactory::getApplication('site')->initialise();
    }
?>

Это случай, когда сторонний файл находится в корне. Если же он там не находится, то необходимо внести изменение в:
Код: php
define( 'JPATH_BASE', dirname(__FILE__));
*

Mick_20

  • Завсегдатай
  • 1002
  • 3 / 0
  • Что тут писать?
то что нужно. спасибо +
« Последнее редактирование: 29.10.2012, 16:51:47 от smart »
*

mcreature

  • Новичок
  • 9
  • 0 / 0
Добрый день!
У меня есть сторонний php-скрипт, лежит в корне Joomla, запускается кронтабом с хостинга. Хочу подключить класс джумловского плагина, чтобы использовать пару функций из него.
Мне для этого надо ведь фреймворк джумловский подключить, правильно?
Но вот вариант выше не работает. Просто подключение класса через include/require тоже ничего не дает. Joomla 2.5
Подскажите, пожалуйста, как правильно такие подключения делаются?
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Вариант выше работает. Проверяйте что вы делаете не так.
*

mcreature

  • Новичок
  • 9
  • 0 / 0
Закомментив эту строчку, скрипт начал отрабатывать:
Код
require_once ( JPATH_LIBRARIES.DS.'joomla'.DS.'import.php');

Похоже проблема в константе JPATH_LIBRARIES

А, ну так конечно, import.php находится не в папке libraries/joomla, а в libraries
Всем спасибо.
« Последнее редактирование: 06.06.2014, 17:07:16 от mcreature »
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
На самом деле эти строки лишние:
Код: php
/* To use Joomla's Database Class */
require_once ( JPATH_BASE .DS.'libraries'.DS.'joomla'.DS.'factory.php' );
require_once ( JPATH_LIBRARIES.DS.'joomla'.DS.'import.php'); // Joomla library imports.

Вполне достаточно framework.php, а в нем уже подключаются все нужные файлы:

Код: php
define('_JEXEC', 1);
define('JPATH_BASE', dirname(__FILE__));
define('DS', DIRECTORY_SEPARATOR);

/* Required files */
require_once JPATH_BASE . DS . 'includes' . DS . 'defines.php';
require_once JPATH_BASE . DS . 'includes' . DS . 'framework.php';

/* Create the Application */
$app = JFactory::getApplication('site')->initialise();
*

mcreature

  • Новичок
  • 9
  • 0 / 0
b2z, спасибо.

Но вот цель всего этого была в подключении класса из собственного плагина.
Но после:
Код
require_once ( JPATH_BASE .DS.'plugins'.DS.'system'.DS.'expimport'.DS.'expimport.php' );
JLoader::getClassList() показывает, что моего класса в списке нет.

Возможно вообще подключить класс из плагина?

зы: наврал я выше, в этом проекте у меня Joomla 3. Это может что-то менять?
« Последнее редактирование: 06.06.2014, 17:35:58 от mcreature »
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Код: php
$dispatcher	= JDispatcher::getInstance();
JPluginHelper::importPlugin('user');
$results = $dispatcher->trigger('onContentPrepareData', array('com_admin.profile', $data));
Объявляете диспетчер, импортируете плагины необходимой вам группы или конкретно ваш плагин (второй аргумент с названием плагина надо добавить в importPlugin), запускаете триггер с названием нужной вам функции, передаете ей нужные аргументы.
*

mcreature

  • Новичок
  • 9
  • 0 / 0
Arkadiy, да, совсем про это забыл. Спасибо, теперь все работает!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Простенький калькулятор одной функции на JS (не Joomla)

Автор Dorfman

Ответов: 10
Просмотров: 524
Последний ответ 23.11.2020, 13:39:14
от sivers
Переход по ссылки и запуск функции? [РЕШЕНО]

Автор warlocksp

Ответов: 19
Просмотров: 948
Последний ответ 21.02.2020, 12:06:24
от warlocksp
[РЕШЕНО] Скроллинг страницы вниз?

Автор warlocksp

Ответов: 3
Просмотров: 643
Последний ответ 02.02.2020, 15:56:55
от warlocksp
Разобраться с небольшим кодом PHP (РЕШЕНО)

Автор Шмайсер

Ответов: 18
Просмотров: 967
Последний ответ 16.01.2020, 21:47:56
от sivers
Как изнутри iframe вызвать внешнюю функцию? [РЕШЕНО]

Автор dm-krv

Ответов: 6
Просмотров: 857
Последний ответ 25.08.2019, 20:41:07
от dm-krv