Written Communications (Briefmodul)

Hast du Probleme oder Fragen bei der Einrichtung bestimmter Plugins ? Diese kannst du hier loswerden.
Treger
Beiträge: 7
Registriert: 17. Apr 2014, 17:55

Written Communications (Briefmodul)

Beitrag von Treger »

Hallo,

in der my_body_bottom.php habe ich den entsprechenden Eintrag gemacht, der aber zu der folgenden Fehlermeldung führt:
Fatal error: Call to a member function addItem() on a non-object in /www/........./admidio/adm_themes/classic/my_body_bottom.php on line 18
Der link "Brief erstellen" ist nicht sichtbar und der Link "Modulauswahl" ist verschwunden.

Viele Grüße
Treger
Benutzeravatar
Thomas-RCV
Developer
Beiträge: 794
Registriert: 1. Aug 2011, 15:06

Re: Written Communications (Briefmodul)

Beitrag von Thomas-RCV »

Hallo
Wo genau hast du den link denn eingebunden? Du verwendest mindestens die admidio Version 2.4.4 ?
VG Thomas
Treger
Beiträge: 7
Registriert: 17. Apr 2014, 17:55

Re: Written Communications (Briefmodul)

Beitrag von Treger »

Hallo,

es handelt sich um eine neue Installation 2.4.5.

Eingebunden habe ich den Link analog zu den anderen Plugins in der my_body_bottom,php

Code: Alles auswählen

<?php
include(SERVER_PATH."/adm_plugins/mitgliedsbeitrag/mitgliedsbeitrag.php");
?>

<?php
if(hasRole('Webmaster', 'Kassenwart'))
{
   $moduleMenu->addItem('written_communications','/adm_plugins/written_communications/written_communications.php','Brief erstellen', '/icons/page_white_word.png');
}
?>
VG Treger
Benutzeravatar
Thomas-RCV
Developer
Beiträge: 794
Registriert: 1. Aug 2011, 15:06

Re: Written Communications (Briefmodul)

Beitrag von Thomas-RCV »

Du musst das ins Menü einbinden bevor das Menü ausgegeben wird. Zum Beispiel als letzter Eintrag des Benutzer Menü oder auch des admin Menüs.
VG Thomas
Treger
Beiträge: 7
Registriert: 17. Apr 2014, 17:55

Re: Written Communications (Briefmodul)

Beitrag von Treger »

Meine my_body_bottom,php sieht komplett so aus:

Code: Alles auswählen

<!-- Here you can add your html code. This code will be applied at the end of the <body> area
     and after the Admidio module code.
-->



<?php
include(SERVER_PATH."/adm_plugins/statistics/statistics.php");
?>
<?php
include(SERVER_PATH."/adm_plugins/kategoriereport/kategoriereport.php");
?>
<?php
include(SERVER_PATH."/adm_plugins/mitgliedsbeitrag/mitgliedsbeitrag.php");
?>
<?php
include(SERVER_PATH."/adm_plugins/calendar/calendar.php");
?>


<?php
if(hasRole('Webmaster'))
{
   $moduleMenu->addItem('written_communications','/adm_plugins/written_communications/written_communications.php','Brief erstellen', '/icons/page_white_word.png');
}
?>



<?php
// link to module overall view
if(strpos($_SERVER['REQUEST_URI'], 'index.php') === false)
{
    echo '<div style="text-align: center; margin-top: 5px;">
        <a href="'.$g_root_path.'/adm_program/index.php">'.$gL10n->get('SYS_BACK_TO_MODULE_OVERVIEW').'</a>
    </div>';
}
?>

<div style="text-align: center; margin: 15px;">
    <a href="http://www.admidio.org" target="_blank"><img 
        src="<?php echo THEME_PATH; ?>/images/admidio_logo_20.png" style="vertical-align: middle; border-width: 0px;" 
        alt="<?php echo $gL10n->get('SYS_ADMIDIO_SHORT_DESC'); ?>" title="<?php echo $gL10n->get('SYS_ADMIDIO_SHORT_DESC'); ?>" /></a>
    <span style="font-size: 9pt; vertical-align: bottom;">&nbsp;&nbsp;&copy; 2004 - 2013&nbsp;&nbsp;<?php echo $gL10n->get('SYS_ADMIDIO_TEAM'); ?></span>
</div>
So erhalte ich den o.g. Fehler und der Link " Zurück zur Modulübersicht" wird nicht angezeigt.
Benutzeravatar
Thomas-RCV
Developer
Beiträge: 794
Registriert: 1. Aug 2011, 15:06

Re: Written Communications (Briefmodul)

Beitrag von Thomas-RCV »

An dieser Stelle gibt es das Menü Objekt doch noch garnicht. Schau mal weiter unter da findest du die gleiche Syntax wo alle Menü Punkte registriert werden. Hänge das mal direkt nach dem link zum forum ein.
Vg Thomas
Igsterman
Beiträge: 22
Registriert: 22. Dez 2013, 15:54

Re: Written Communications (Briefmodul)

Beitrag von Igsterman »

ich muss mich auch outen - auch mir gelingt es nicht das Plugin einzubinden. Wäre es möglich eine möglichst eindeutige Stelle zu nennen, wo die Zeile eingefügt werden muss. Danke
Treger
Beiträge: 7
Registriert: 17. Apr 2014, 17:55

Re: Written Communications (Briefmodul)

Beitrag von Treger »

Ich habe mir gerade die my_body_bottom.php aus dem Theme modern angesehen. Dort sieht es anders aus und ich kann jetzt nachvollziehen, wo der Eintrag erfolgen soll.

Ich nutze das Theme classic. Wie muss die Anweisung dort lauten?
Giovanni9030
Beiträge: 247
Registriert: 4. Sep 2012, 23:40

Re: Written Communications (Briefmodul)

Beitrag von Giovanni9030 »

Igsterman hat geschrieben:ich muss mich auch outen - auch mir gelingt es nicht das Plugin einzubinden. Wäre es möglich eine möglichst eindeutige Stelle zu nennen, wo die Zeile eingefügt werden muss. Danke
Hallo,
schließe mich ebenfalls mit der Bitte für eine genauere Beschreibung an.
Habe nach stundenlangem Probieren aufgegeben. Es ist mir zwar einmal geglückt, aber der Download hat dann nicht funktioniert.

LG
Hans
Benutzeravatar
Thomas-RCV
Developer
Beiträge: 794
Registriert: 1. Aug 2011, 15:06

Re: Written Communications (Briefmodul)

Beitrag von Thomas-RCV »

Hallo zusammen,
seit der Version 2.3 verwenden wir zur Erstellung der Links in den Menüs eine eigene Menü Klasse.
Diese wird in dem Modern Theme für das seitliche Menü in der my_body_bottom.php und für die Übersichtsseite in der adm_progam/index.php genutzt.
Da das Classic Theme keine seitliche Navigation hat, muss der Link folglich nur in der Übersichtsseite adm_program/index.php hinzugefügt werden.

In jedem Script wird zuerst das Menü Objekt erzeugt und initialisiert:

Code: Alles auswählen

$moduleMenu = new Menu('modules', $gL10n->get('SYS_MODULES'));
Dann werden die ganzen Standardlinks registriert. Im Anschluss, oder auch dazwischen, wenn man die Reihenfolge ändern möchte, registriert man den Link zum Briefplugin.

Code: Alles auswählen

$moduleMenu->addItem('written_communications', '/plugins/written_communications/written_communications.php','Brief erstellen', '/icons/page_white_word.png');
Anschließend wird das Menü ausgegeben:

Code: Alles auswählen

$moduleMenu->show('long');

Der Link muss also registriert werden, wenn das Menü bereits initialisiert ist und bevor es ausgegeben wird, sonst führt das folglich zu einer Fehlermeldung

VG Thomas
Igsterman
Beiträge: 22
Registriert: 22. Dez 2013, 15:54

Re: Written Communications (Briefmodul)

Beitrag von Igsterman »

Lieber Thomas,

ganz herzlichen Dank für Deine ausführliche Beschreibung - leider komme ich auch damit nicht weiter. Selber nutze ich ein "Modern Theme" und konnte dort nur die Zeile "$gL10n->get('SYS_MODULES'));" entdecken. Im Anschluss kommen einige "if ... Zeilen" - wenn ich dort Einfüge kommt es zu dieser Fehlermeldung.
Ist es erforderlich bei einem "Modern Theme" die Ergänzung sowohl in der adm_progam/index.php als auch in der my_body_bottom.php vorzunehmen?

In meiner my_body_bottom.php kann ich die Zeile "$moduleMenu->show('long');" gar nicht finden.

Danke für Deine Geduld und weitere Unterstützung,

Gruss, Igor
Benutzeravatar
Thomas-RCV
Developer
Beiträge: 794
Registriert: 1. Aug 2011, 15:06

Re: Written Communications (Briefmodul)

Beitrag von Thomas-RCV »

Hi,

schau mal in der my_body_bottom.php nach folgender Stelle:

Code: Alles auswählen

if($gPreferences['enable_forum_interface'])
{$moduleMenu->addItem('forum', $g_forum->url, $gL10n->get('SYS_FORUM'), '/icons/forum.png');   
}
Das ist der Link zum Forum wenn es aktiviert ist.
Und dnach kannst du das Briefmodul definieren in Zeile 78 in etwa:

Code: Alles auswählen

if($gPreferences['enable_forum_interface'])
{$moduleMenu->addItem('forum', $g_forum->url, $gL10n->get('SYS_FORUM'), '/icons/forum.png');   
}
$moduleMenu->addItem('written_communications', '/plugins/written_communications/written_communications.php','Brief erstellen', '/icons/page_white_word.png');
Igsterman
Beiträge: 22
Registriert: 22. Dez 2013, 15:54

Re: Written Communications (Briefmodul)

Beitrag von Igsterman »

Danke - ich hatte wohl eine ältere Version von Theme "Moderne" - habe jetzt meine PlugIns in die aktuelle Version eingebaut und ich kann auf das Briefmodul zugreifen. Auch habe ich im Downloadsordner ein "MSWord_Templates" angelegt.

Bei der Erstellung bekomme ich jetzt aber diesen Fehler:
Warning: require_once(classes/adm_rolemembers.php) [function.require-once]: failed to open stream: No such file or directory in /kunden/184849_85551/admidio/adm_plugins/written_communications/written_communications_functions.php on line 39

Fatal error: require_once() [function.require]: Failed opening required 'classes/adm_rolemembers.php' (include_path='.:/usr/local/lib/php') in /kunden/184849_85551/admidio/adm_plugins/written_communications/written_communications_functions.php on line 39
Treger
Beiträge: 7
Registriert: 17. Apr 2014, 17:55

Re: Written Communications (Briefmodul)

Beitrag von Treger »

Hallo,

die geforderte Datei ist in /classes benannt: adm_rolemembers.php

abgefragt wird in der written_communications_functions.php: adm_RoleMembers.php

Nach der Änderung erhälte ich bei der Erstellung eines Briefes den folgenden Fehler:
Warning: ZipArchive::open() [ziparchive.open]: Empty string as source in /www/htdocs/w00b3ffc/admidio/adm_plugins/written_communications/classes/PHPWord/Writer/Word2007.php on line 73

Warning: ZipArchive::open() [ziparchive.open]: Empty string as source in /www/htdocs/w00b3ffc/admidio/adm_plugins/written_communications/classes/PHPWord/Writer/Word2007.php on line 74

Fatal error: Uncaught exception 'Exception' with message 'Could not open for writing.' in /www/htdocs/w00b3ffc/admidio/adm_plugins/written_communications/classes/PHPWord/Writer/Word2007.php:75 Stack trace: #0 /www/htdocs/w00b3ffc/admidio/adm_plugins/written_communications/written_communications_functions.php(202): PHPWord_Writer_Word2007->save(false) #1 {main} thrown in /www/htdocs/w00b3ffc/admidio/adm_plugins/written_communications/classes/PHPWord/Writer/Word2007.php on line 75
Benutzeravatar
Thomas-RCV
Developer
Beiträge: 794
Registriert: 1. Aug 2011, 15:06

Re: Written Communications (Briefmodul)

Beitrag von Thomas-RCV »

Oha, da ist tatsächlich ein Fehler drin.
Ersetze mal bitte die written_cummication_function.php durch die Datei im Anhang.
Da war ein Tippfehler drin.
Sorry
Dateianhänge
written_communications_functions.zip
(3.9 KiB) 256-mal heruntergeladen
Antworten