Embed Admidio plugins in Joomla

1. To ensure that all plugins can be shown on a Joomla site, they must be set to the desired position on the Wrapper Joomla module. Thus it should not be too much work refactor the code in a plugin, the call on an outsourced PHP file is useful. In the file the call is´like that:

<?php
    include($_SERVER['DOCUMENT_ROOT']. "/adm_plugins/calendar/calendar.php");
?>

In the Head area should follow the stylesheets and scripts as follows be embed:

<link rel="stylesheet" type="text/css" href="http://deine_domäne.de/adm_plugins/calendar/calendar.css" />
<!-- Ermöglicht die Ajax-Funktionen -->
<script type="text/javascript" src="http://deine_domäne.de/adm_program/libs/jquery/jquery.js"></script>
<!-- Nicht zwingend erforderlich -->
<script type="text/javascript" src="http://deine_domäne.de/adm_program/system/js/common_functions.js"></script>
<!-- Ermöglicht die Tooltipbox -->
<script type="text/javascript" src="http://deine_domäne.de/adm_program/libs/tooltip/ajax-tooltip.js"></script>

Please make sure that the embedding of scripts currently no Admidio variable $_SERVER ['DOCUMENT_ROOT'] is defined, therefore coden best hard.

2. By including the plugins in Joomla wrapper modules occurs in the links shown often the problem that the home page of Joomla leave. Even if you have Admidio embedded by Component wrapper, controlling the individual Admidio modules such as dates.php so is not yet possible.

Thanks to an entry in Joomla Portal forum, there is a possibility of hacking the wrapper module to enter the Joomla component wrapper with additional parameters to the path: Reading in “Joomla Expert”:

http://www.joomlaexpert.com/index.php?option=com_content&task=view&id=30&Itemid=63

Quote:

Pass Parameters to the Wrapper (13393 hits)
Written by Thomas Kahl
Have you ever needed to pass different parameters to your "wrapped" script?
Here is a flexible solution, which should work with all Wrapper-Items in mambo 4.5.1 & 4.5.2

   1. Make a backup of the file /components/com_wrapper/wrapper.php
   2. Open the file in an editor and go to line 35.
   3. Search for this text: $url = $params->def( 'url', '' );
   4. Insert the following block AFTER the line:

        foreach ($_GET as $key => $value) {
        if ($key<>"option" && $key<>"Itemid") {
           $url.=(strpos($url,"?")) ? "&" : "?";
           $url.="$key=$value";
           }
        }

   5. Save the file and test the solution in your browser.

      This is for example a link to a special phpBB topic:
          http://www.yourdomain.com/index.php?option=com_wrapper&Itemid=110&t=3022
      the corresponding URL in the Wrapper configuration is:
          http://www.yourdomain.com/phpBB/viewtopic.php
      the additional parameter "t" is passed to phpBB:
          http://www.yourdomain.com/phpBB/viewtopic.php?t=3022

So you can thus still give to the wrapper from outside another parameter. The description is valid also for version 1.5.x of Joomla.

3. The plugin then you have to adjust to the appropriate sections:

For the module calendar.php to the following changes have to be made:

Line 307:

if($ter_anzahl >> 0)
{
    if($i <= 9)
    {
        $plg_link = "http://www.your_domain.de/index.php?option=com_wrapper&Itemid=170&view=wrapper?date=$jahr$monat". "0". $i;
        $plg_link_target = "_top";
    }
    else
    {
        $plg_link = "http://www.your_domain.de/index.php?option=com_wrapper&Itemid=170&view=wrapper?date=$jahr$monat$i";
        $plg_link_target = "_top";
    }
}

At this point, the call must match target =_top, otherwise the link of the page will be invoked in an iFrame of the module.
also line 401:

if($i == $heute OR $i == $ter_aktuell OR $i == $geb_aktuell)
{
    if($i != $ter_aktuell && $i == $geb_aktuell)
    {
        $plg_link = "#";
        $plg_link_target = "_self";
    }
    if($i == $ter_aktuell || $i == $geb_aktuell)
    {
         if($plg_ajaxbox == 1)

The birthdays are not linked to undeclared users. The plugin coded for the relevant calling PHP file. So in this case, not using the outsourced file for the module wrapper as _ top, but in the relevant module is used as an iFrame so the change to_ self.

4. The conversion also works with when using a component like SEO or SEF for search engine friendly URL. Here, the translated SEF component address is to be entered.
Instead of:

$plg_link = "http://www.deine_domäne.de/index.php?option=com_wrapper&Itemid=170&view=wrapper?date=$jahr$monat". "0". $i;

Use:

$plg_link = "http://www.deine_domäne.de/termine?date=$jahr$monat". "0". $i;
  • en/2.0/admidio-plugins_in_joomla_einbinden.txt
  • Last modified: 2015/10/14 23:01
  • by thomas-rcv