You are not logged in.
Pages: 1
Hallo Allerseits,
ich nutze in Zikula das Xinha Plugin. Ich benötige hier eine einfache Funktion. Zikula nutzt SMARTY. Ich hätte gern im Xinha-Editor einen Button, der mir in den HTML-Code folgendes einfügt: <!--pagebreak-->. Soweit bin ich auch schon. Ich hätte jedoch gerne, dass dieser Pagebreak auch im WYSiWIG Fenster in irgendeiner Form angezeigt bekomme.
Bisher verwende ich folgendes Plugin:
// InsertPagebreak plugin for HTMLArea/Xinha
// Implementation by Udo Schmal & Schaffrath NeueMedien
// Original Author - Udo Schmal
//
// (c) Udo Schmal & Schaffrath NeueMedien 2004
// Distributed under the same terms as HTMLArea itself.
// This notice MUST stay intact for use (see license.txt).
function InsertPagebreak(editor, args) {
this.editor = editor;
var cfg = editor.config;
var self = this;
cfg.registerButton({
id : "pagebreak",
tooltip : this._lc("Page break"),
image : editor.imgURL("pagebreak.gif", "InsertPagebreak"),
textMode : false,
action : function(editor) {
self.buttonPress(editor);
}
});
cfg.addToolbarElement("pagebreak", "inserthorizontalrule", 1);
}
InsertPagebreak._pluginInfo = {
name : "InsertPagebreak",
version : "1.0",
developer : "Udo Schmal",
developer_url : "",
sponsor : "L.N.Schaffrath NeueMedien",
sponsor_url : "http://www.schaffrath-neuemedien.de/",
c_owner : "Udo Schmal & Schaffrath NeueMedien",
license : "htmlArea"
};
InsertPagebreak.prototype._lc = function(string) {
return Xinha._lc(string, 'InsertPagebreak');
};
InsertPagebreak.prototype.buttonPress = function(editor, context, updatecontextclass) {
editor.insertHTML('<div><!--pagebreak-->');
};
Das funktioniert auch, nur bekomme ich im WYSIWYG-Modus keinerlei anzeige über diesen Seitenwechsel.
Leider kann ich nicht programmieren und verstehe nicht wie ich mir das bauen soll.
Es wäre doch nütlich ein Plugin zu haben, mit dem man sich einenen eigenen Button bauen könnte, der etwas definiertes in den HTML-Code einbaut und einfach nur im WYSIWYG-Editor ein Bildchen ausgibt (Ähnlich dem Anchor.
Ich denke das ist recht einfach zu realisieren nur alle Spielereien mit "inwardHtml" usw. funktionieren nicht. Ich kopier mir halt alles aus beispielen zusammen und gugg ob es funktioniert.
Vielleicht hat hier jemand einen schnellen Code. Das wäre Supi.
Danke im Vorraus. Grüße Brenni
Offline
Hi brenni,
unter pagesetter und News wird automatisch das richtige pagebreak-Plugin eingebunden. Das habe ich im Code direkt kodiert. Bitte mach mal ein Ticket unter http://code.zikula.org/scribite auf (vorher registrieren und einloggen) und schreib dort nochmal alles rein. Dann kriege ich das hin ...
Das ist eher ein scribite!-spezifisches Problem (außerdem ist das hier ein englischsprachiges Forum ).
Danke
Sven (Entwickler von scribite!)
Offline
Yep hab ich gemacht. Hoffe das is korrekt so im cozy. Und danke für die Rückmeldung.
Gruß Brenni
Offline
Here is the solution!! (Hier ist die Lösung!!)
Insert into the File InsertPagebreak.js the following lines:
(Füge in die Datei InsertPagebreak.js die folgenden Zeilen ein:)
InsertPagebreak.prototype.onGenerate = function() {
this.editor.addEditorStylesheet(_editor_url + 'plugins/InsertPagebreak/InsertPagebreak.css');
};
Create a new file in the same directory!
(Erzeuge die folgende Datei im selben Verzeichnis!)
InsertPagebreak.css:
div.pagebreak {
font-size: 1px;
page-break-after: always;
height: 1px;
background-color: rgb(192, 192, 192);
clear: all;
}
Udo Schmal (Gocher)
Offline
The following buttonPress prototype woud be better:
InsertPagebreak.prototype.buttonPress = function(editor, context, updatecontextclass) {
var sel = editor._getSelection();
var range = editor._createRange(sel);
var el = editor.getParentElement();
if (el && (el.tagName.toLowerCase() != 'body')) {
while ( el && (el.parentNode.nodeType == 1) && ( el.parentNode.tagName.toLowerCase() != 'body' )) {
el = el.parentNode;
}
}
var doc = editor._doc;
var div = doc.createElement("div");
div.class = "pagebreak";
div.contenteditable = "false";
div.title = "Page Break";
if ((!el) || (el.tagName.toLowerCase() == 'body')) {
doc.body.appendChild(div);
} else {
el.parentNode.insertBefore(div, el.nextSibling);
}
editor.forceRedraw();
editor.focusEditor();
editor.updateToolbar();
};
Udo Schmal (Gocher)
Offline
Pages: 1