RSS   Twitter   Copiny   Copiny
Нашел ошибку? 

Выдели фрагмент текста с ошибкой или неточностью и нажми Ctrl+Enter!

Как подключить свои библиотеки/функции в Joomla?

Использование функции jimport

Иногда случается, что набор собственных функций или библиотек нужно подключить в Joomla. Но иногда подключить их нужно так, чтобы они присутсвовали во всей системе, вне зависимости, какой компонент сработал.

Это можно сделать самыми различными способами, но не все будут верными. Мы рассмотрим некоторые из них и опишем нюансы этих вариантов

1 способ — через загрузчик jimport

Это наиболее рекомендованный вариант. Используем встроенную возможность подключения файлов через функцию jimport.

Создайте новую директорию внутри «<корень сайта>/libraries». Допустим это будет библиотека для работы с изображениями. Тогда назовем директорию «imagelib». Внутри создаем файл, который будет объявлять необходимый функционал. Пусть этот файл будет называться «init.php».

Теперь чтобы использовать этот функционал в любом месте фреймворка, просто напишите следующую строку:

// подключение imagelib
jimport('imagelib.init');

Способ имеет один явный недостаток, везде придется использовать конструкцию с jimport, что на практике не очень удобно.

Еще один маленький минус — не получиться сделать установщик для Joomla 1.5. В весрии 1.6 и выше этот недостаток исправлен (теперь библиотеку можно устанавливать как расширение).

2 способ — через системный плагин

Плагины «прослушивают» систему и когда происходит определенное действие, то  исполняется код плагина. Можно привязать собственный плагин к событию «onAfterInitialise», которое срабатывает сразу после инициализации фреймворка Joomla. Таким образом код плагина будет доступен практически из любой части системы. В теле метода «onAfterInitialise» можно использовать функцию jimport, описанную выше — так код будет чище.

Как и куда что писать подробнее можно прочитать в разделе по созданию плагинов Joomla.

В этом случае недостатком можно считать факт присутствия лишнего плагина в системе и её усложнения.

3 способ — как делать не нужно

Не очень желательно использовать конструкции require, include. Но если уж сильно хочется, то придерживайтесь следующей конструкции.

// подключаем imagelib
require_once ( JPATH_BASE .DS. 'libraries' .DS. 'imagelib' .DS. 'init.php' );

Недостатки тут следующие:

  • нужно учитывать адрес корня сайта и разделитель директории (константы JPATH_BASE и DS )
  • require_once медленнее работает, чем require, а другого удобного способа исключить повторное подключение нет.
  • теряется общая красота кода.

Такой способ приемлем только на уровне загрузки фреймворка, когда еще не объявлен функционал плагинов и jimport. Но это очень редкий и крайний случай.

Смотрите также:
Комментарии (43) Добавить комментарий
  • Сергей
    Сергей
    15 Июня 2011, 22:49
     ↑  -1  ↓     ответ

    "Еще один маленький минус — не получиться сделать установщик для Joomla 1.5." - вот это можно "разжевать" подробнее...

    То есть имеется ввиду, что файл не будет подхватываться если делать quickstart?

    • smet.denis
      smet.denis (админ)
      16 Июня 2011, 13:37
       ↑  +4  ↓     ответ

      Не совсем понял что такое "quickstart".

      В статье имеется виду, что библиотеки, начиная с версии 1.6, можно ставить так же как и любые расширения (плагины, шаблоны, модули...). В 1.5 этой возможности нету.

  • ilianna.ru
    ilianna.ru
    25 Июля 2013, 23:17
     ↑  0  ↓     ответ

    Благодарю!

  • 97Greg
    97Greg
    07 Февраля 2017, 16:11
     ↑  0  ↓     ответ

    I must say you have hi quality posts here. Your page can go viral.

    You need initial traffic only. How to get it? Search for: Etorofer's strategies

  • tinyurl.com
    tinyurl.com
    24 Ноября 2019, 06:40
     ↑  0  ↓     ответ

    If you want to grow your knowledge only keep visiting this web site and be updated

    with the most up-to-date gossip posted here.

  • http://tinyurl.com/spcng95
    http://tinyurl.com/spcng95
    25 Ноября 2019, 09:07
     ↑  0  ↓     ответ

    Can I simply say what a comfort to find somebody who really understands what they are talking

    about online. You definitely know how to bring a problem to

    light and make it important. More and more people really need

    to look at this and understand this side of

    the story. I was surprised that you are not more popular because you most certainly possess the gift.

  • ps4 games
    ps4 games
    28 Ноября 2019, 16:23
     ↑  0  ↓     ответ

    Hi there, its good post concerning media print, we all know media is a fantastic source of data.

  • quest bars cheap
    quest bars cheap
    30 Ноября 2019, 15:40
     ↑  0  ↓     ответ

    Whats up very cool blog!! Guy .. Excellent ..

    Amazing .. I'll bookmark your web site and take the feeds

    additionally? I'm satisfied to find a lot of helpful info right here in the submit,

    we want work out more techniques on this regard, thank you for sharing.

    . . . . .

  • ps4 games
    ps4 games
    01 Декабря 2019, 16:09
     ↑  0  ↓     ответ

    There's definately a great deal to know about this topic.

    I really like all the points you've made.

  • ps4 games
    ps4 games
    01 Декабря 2019, 16:15
     ↑  0  ↓     ответ

    It's remarkable to pay a visit this web page and reading the views of all colleagues regarding this piece of writing, while I am also zealous

    of getting familiarity.

  • quest bars cheap
    quest bars cheap
    02 Декабря 2019, 08:01
     ↑  0  ↓     ответ

    I'm amazed, I have to admit. Seldom do I come across a

    blog that's equally educative and engaging, and let me tell you, you've hit the nail on the head.

    The issue is something too few people are speaking intelligently about.

    I'm very happy that I came across this during my hunt for something regarding this.

  • quest bars cheap
    quest bars cheap
    02 Декабря 2019, 10:12
     ↑  0  ↓     ответ

    Wonderful blog! Do you have any recommendations for aspiring writers?

    I'm planning to start my own website soon but

    I'm a little lost on everything. Would you propose starting with

    a free platform like Wordpress or go for a paid option? There are so many choices out there that I'm

    totally confused .. Any recommendations? Thank you!

  • ??????
    ??????
    05 Декабря 2019, 09:23
     ↑  0  ↓     ответ

    Compliments. Start with non-creepy generic ones- Your dress really brings out the colour of your eyes , you look fit , have you been working out ??? and so on and so forth ;as you get familiar with each other , up the ante ;-)

    Yes a girl might say they like it when someone calls them beautifull but when a guy does that they simply get turned off.

  • ps4 games
    ps4 games
    06 Декабря 2019, 10:10
     ↑  0  ↓     ответ

    Hi there! This is my first comment here so I just wanted

    to give a quick shout out and say I truly enjoy reading your

    articles. Can you suggest any other blogs/websites/forums

    that go over the same subjects? Many thanks!

  • ps4 games
    ps4 games
    06 Декабря 2019, 20:53
     ↑  0  ↓     ответ

    You actually make it seem really easy together with your

    presentation but I find this matter to be actually something which I believe I'd

    never understand. It seems too complicated and extremely large for me.

    I am looking ahead in your subsequent put up, I'll attempt to get the dangle of it!

  • ps4 games
    ps4 games
    07 Декабря 2019, 09:02
     ↑  0  ↓     ответ

    I have been browsing online greater than 3 hours these days, but I by no

    means found any fascinating article like yours. It is beautiful worth sufficient for

    me. Personally, if all website owners and bloggers made good content as you probably did, the web might be much more useful than ever

    before.

  • quest bars cheap
    quest bars cheap
    07 Декабря 2019, 16:36
     ↑  0  ↓     ответ

    Pretty! This was an extremely wonderful article. Thank

    you for supplying these details.

  • quest bars cheap
    quest bars cheap
    09 Декабря 2019, 22:56
     ↑  0  ↓     ответ

    Wow, amazing weblog format! How long have you been blogging for?

    you make running a blog glance easy. The total look of your web site

    is magnificent, let alone the content!

  • quest bars cheap
    quest bars cheap
    10 Декабря 2019, 07:12
     ↑  0  ↓     ответ

    Magnificent beat ! I wish to apprentice while you amend your site, how could i subscribe for a blog web site?

    The account aided me a acceptable deal. I had been tiny bit acquainted of this your broadcast provided bright clear concept

  • ps4 games
    ps4 games
    11 Декабря 2019, 01:57
     ↑  0  ↓     ответ

    Hi! I know this is sort of off-topic however I had to ask.

    Does building a well-established website like yours take a massive amount work?

    I am brand new to operating a blog however I do write in my diary on a

    daily basis. I'd like to start a blog so I will be able

    to share my experience and thoughts online. Please let

    me know if you have any kind of ideas or tips for brand

    new aspiring blog owners. Thankyou!

  • ps4 games
    ps4 games
    14 Декабря 2019, 09:50
     ↑  0  ↓     ответ

    Great items from you, man. I have be mindful your stuff prior to and you're just extremely magnificent.

    I actually like what you have bought right here, really like what you're saying and the best way

    by which you assert it. You make it enjoyable and you continue to take care of to keep it smart.

    I can not wait to learn far more from you. This is really a great web site.

  • coconut oil
    coconut oil
    15 Декабря 2019, 20:18
     ↑  0  ↓     ответ

    This is a topic that's close to my heart...

    Best wishes! Where are your contact details though?

  • coconut oil
    coconut oil
    16 Декабря 2019, 13:44
     ↑  0  ↓     ответ

    That is a great tip especially to those fresh

    to the blogosphere. Brief but very accurate information… Appreciate your sharing this one.

    A must read article!

  • coconut oil
    coconut oil
    17 Декабря 2019, 10:46
     ↑  0  ↓     ответ

    Hey there! Do you use Twitter? I'd like to follow you if that would be ok.

    I'm definitely enjoying your blog and look forward to new posts.

  • coconut oil
    coconut oil
    21 Декабря 2019, 06:07
     ↑  0  ↓     ответ

    Hello! I realize this is kind of off-topic but I had to ask.

    Does managing a well-established blog like yours require a massive amount work?

    I am brand new to running a blog but I do write in my diary daily.

    I'd like to start a blog so I can easily share my own experience and feelings online.

    Please let me know if you have any suggestions

    or tips for brand new aspiring blog owners. Appreciate it!

  • how to get help in windows 10
    how to get help in windows 10
    28 Декабря 2019, 12:13
     ↑  0  ↓     ответ

    Everyone loves it when folks come together and share views.

    Great website, keep it up!

  • match.com free trial
    match.com free trial
    30 Декабря 2019, 04:14
     ↑  0  ↓     ответ

    Hi my family member! I want to say that this post is amazing, great written and include

    almost all vital infos. I'd like to peer more posts like this .

  • plenty of fish vs match.com free trial
    plenty of fish vs match.com free trial
    30 Декабря 2019, 18:20
     ↑  0  ↓     ответ

    What's up colleagues, its wonderful post on the topic of

    teachingand entirely explained, keep it up all the time.

  • asksylphoflight.tumblr.com
    asksylphoflight.tumblr.com
    31 Декабря 2019, 15:32
     ↑  0  ↓     ответ

    I really like your blog.. very nice colors & theme.

    Did you create this website yourself or did you hire someone to do it for

    you? Plz reply as I'm looking to create my own blog and would like to know

    where u got this from. thank you

  • sling tv
    sling tv
    01 Января 2020, 08:29
     ↑  0  ↓     ответ

    Hi to all, how is everything, I think every one is getting more from

    this website, and your views are good in favor of new viewers.

  • http://tinyurl.com
    http://tinyurl.com
    02 Января 2020, 22:04
     ↑  0  ↓     ответ

    Hmm it seems like your site ate my first comment (it was super long) so I guess I'll

    just sum it up what I submitted and say, I'm thoroughly enjoying your blog.

    I too am an aspiring blog writer but I'm still new to the whole thing.

    Do you have any points for newbie blog writers? I'd really appreciate it.

  • sling tv
    sling tv
    03 Января 2020, 12:35
     ↑  0  ↓     ответ

    You actually make it appear so easy with your presentation but I to find this

    matter to be really one thing which I feel I might by

    no means understand. It kind of feels too complicated and very extensive for

    me. I'm looking forward in your subsequent submit, I'll attempt to

    get the grasp of it!

  • sling tv https://asksylphoflight.tumblr.com/
    sling tv https://asksylphoflight.tumblr.com/
    05 Января 2020, 11:42
     ↑  0  ↓     ответ

    Having read this I believed it was extremely informative. I appreciate you

    taking the time and effort to put this short article together.

    I once again find myself personally spending a lot

    of time both reading and leaving comments. But so what, it was still worthwhile!

  • sling tv
    sling tv
    07 Января 2020, 05:13
     ↑  0  ↓     ответ

    This design is wicked! You obviously know how to keep a reader entertained.

    Between your wit and your videos, I was almost moved to start my own blog (well, almost...HaHa!) Great job.

    I really enjoyed what you had to say, and more than that, how you presented it.

    Too cool!

  • https://asksylphoflight.tumblr.com/ sling tv
    https://asksylphoflight.tumblr.com/ sling tv
    08 Января 2020, 00:33
     ↑  0  ↓     ответ

    Do you have any video of that? I'd like to find out

    some additional information.

  • sling tv
    sling tv
    14 Января 2020, 08:41
     ↑  0  ↓     ответ

    Hurrah! Finally I got a blog from where I be able to

    truly get useful data concerning my study and knowledge.

  • sling tv
    sling tv
    14 Января 2020, 20:48
     ↑  0  ↓     ответ

    When someone writes an piece of writing he/she maintains the thought of a user

    in his/her brain that how a user can be aware of it. Thus that's why this piece of writing is perfect.

    Thanks!

  • Kaley
    Kaley
    15 Января 2020, 10:02
     ↑  0  ↓     ответ

    I quite like reading a post that can make people think.

    Also, thank you for allowing me to comment!

  • sling tv
    sling tv
    15 Января 2020, 18:31
     ↑  0  ↓     ответ

    Hey There. I found your weblog the use of msn. That is a really well written article.

    I'll make sure to bookmark it and return to read extra of your helpful information. Thanks

    for the post. I'll certainly return.

  • sling tv
    sling tv
    17 Января 2020, 04:44
     ↑  0  ↓     ответ

    Hello, just wanted to mention, I enjoyed this blog post.

    It was helpful. Keep on posting!

  • sling tv
    sling tv
    18 Января 2020, 17:25
     ↑  0  ↓     ответ

    Asking questions are genuinely fastidious thing if you are not understanding

    something totally, except this piece of writing provides nice understanding yet.

  • sling tv
    sling tv
    19 Января 2020, 06:34
     ↑  0  ↓     ответ

    Great weblog here! Additionally your website so much

    up fast! What web host are you using? Can I get your associate link for your host?

    I wish my web site loaded up as fast as yours lol

  • sling tv
    sling tv
    29 Января 2020, 08:08
     ↑  0  ↓     ответ

    Excellent post. I will be going through many

    of these issues as well..

Оставить комментарий




* обязательно для заполнения

1 введенный почтовый адрес используется только для обратной связи при ответах в комментариях и сервиса gravatar.com
.