Anrisstext an Cursorposition trennen - nicht da
Eingetragen von DrupalFan (1646)
am 16.02.2010 - 22:55 Uhr in
am 16.02.2010 - 22:55 Uhr in
"Anrisstext an Cursorposition trennen", das ist eine tolle Funktion. Nur manachmal erscheint das, bei der nächsten Installation wieder nicht.
Jedenfalls möchte ich es bei einem Projekt einschalten, aber wo?
Wie kann man das ein-/ausschalten?
- Anmelden oder Registrieren um Kommentare zu schreiben
Eigentlich kann man das gar
am 26.02.2010 - 14:50 Uhr
Eigentlich kann man das gar nicht "ausschalten". Man kann es in einem Modul durch die verwendung von hook_form_alter() ausschalten. Das tun manche Module (TinyMCE, FCKeditor, Resizable Body, ...). Vielleicht nurzt du so ein Modul und es wird deshalb nicht angezeigt?
WYSIWYG
am 18.02.2010 - 13:07 Uhr
Ja, ich verwende das Modul WYSIWYG und habe TinyMCE und CKEditor als Libraries installiert (Fremdpakete).
Aber beim Eingabeformat "FULL Html" wird kein Richeditor verwendet und denn ist diese Umschaltmöglichkeit weg.
Jo, das Modul Wysiwyg
am 26.02.2010 - 14:50 Uhr
Jo, das Modul Wysiwyg deaktiviert den Button: "Teaser splitter is unconditionally removed and NOT supported." (wysiwyg.module, Zeil 96)
<?php
function wysiwyg_form_alter(&$form, &$form_state) {
$form['#after_build'][] = 'wysiwyg_process_form';
// Teaser splitter is unconditionally removed and NOT supported.
if (isset($form['body_field'])) {
unset($form['body_field']['teaser_js']);
}
}
?>
Die einzige Möglichkeit wäre, ein kleines eigenes Modul, das den Button wieder aktiviert denn der Entwickler schreibt:
"Don't even try to re-open this issue to ask for the teaser splitter. You should rather prepare yourself that the Teaser splitter is no longer existing in Drupal 7." - http://drupal.org/node/293803
Keine Teaser-Abrennmöglichkeit mehr in Drupal7?
am 18.02.2010 - 15:18 Uhr
Ja, danke für die Erklärung, vielleicht werde ich das auch noch einbauen mit einem eigenen Mini-Modul.
Allerdings interessiert mich jetzt, warum es diese Möglichkeit, "Anrisstext an Cursorpostion trennen" nicht mehr in Drupal7 geben soll und was es dann für eine Alternative gibt? Teaser wird es doch weiterhin geben, nehme ich an und was ist dann anders als jetzt?
D7 - Body (Edit summary)
am 26.02.2010 - 14:50 Uhr
In der derzeitigen Version von Drupal 7 (ich denke das bleicht so) gibt es einen Textlink über dem body "Body (Edit summary)". Wenn man den klickt dann erscheint ein neues Feld in dem man eine Extra Summary eingeben kann. Diese wird auch separat in der Datenbank in der Tabelle field_revision_body gespeichert.
Kein Teaser in Drupal7? Oder anders?
am 18.02.2010 - 20:17 Uhr
Hat das etwas mit dem Teaser zu tun?
Summary =
am 26.02.2010 - 14:51 Uhr
Summary = Teaser
Teaser-Trennmöglichkeit wieder aktivieren
am 22.03.2010 - 23:41 Uhr
Mit
if (isset($form['body_field'])) {
unset($form['body_field']['teaser_js']);
}
wird die Möglichkeit, den Teaser abzutrennen ausgeschaltet, aber wie kann man das wieder aktivieren?
Nur ein
if (isset($form['body_field'])) {
$form['body_field']['teaser_js'] = array (
'#type' => 'textarea',
'#rows' => 10,
'#teaser' => 'edit-body',
'#teaser_checkbox' => 'edit-teaser-include',
'#disabled' => TRUE,
);
}
reicht anscheinend nicht (in einem eigenen Modul). Was fehlt hier noch oder wie geht das?
Danke.
Anrisstext trennen - Keine Lösung?
am 23.03.2010 - 11:45 Uhr
Anscheinend hat das weltweit noch niemand gelöst.
Bitte Lösungsansätze vervollständigen, sonst bringt das nichts.
am 25.03.2010 - 23:11 Uhr
Die einzige Möglichkeit wäre, ein kleines eigenes Modul, das den Button wieder aktiviert denn der Entwickler schreibt:
Warum gibt es hier im Drupalcenter eigentlich so oft Lösungshinweise, wie es vielleicht funktionieren könnten, und dann wenn man merkt, dass die Lösung nicht funktioniert, gibt es keinen Kommentar mehr, geschweige denn eine genauere Erklärung wie die Lösung denn wirklich funktionieren könnte.
Das passiert hier immer wieder.
Und es scheint wirklich noch weltweit niemand gelöst zu haben, also wäre das doch eine super Sache, wenn hier jemand eine Lösung hat, die funktioniert.
Ich denke es gibt einen Grund
am 26.03.2010 - 14:32 Uhr
Ich denke es gibt einen Grund warum "sun" (Daniel Kudwien) schreibt:
"Teaser splitter is unconditionally removed and NOT supported."
Man muss sich nur mal die Liste seiner Module ansehen.
Der Grund dürfte sein, dass es sehr schwer ist eine Lösung für das hier genannte Problem zu finden die alle Nutzer zufriedenstellt. Lösungsvorschläge zu machen ist eine Sache (das beinhaltet vielleicht 5-10 Min Recherche), sich hinsetzen und für einen Forumsbeitrag die Details zu studieren oder sogar ein Modul zu schreiben und eventuell auf Spezialfälle eingehen ist eine ganz andere Sache :)
Ich persönlich bin für Lösungsansätze schon immer sehr dankbar und oft reichen sie auch ein Problem zu lösen, zumindest um einzuschätzen ob sich der Aufwand lohnt.
Bitte Lösungsansätze die nicht funktionieren weiter kommentieren
am 26.03.2010 - 14:39 Uhr
Ich habe doch schon recherchiert, weltweit und länger als 15 Minuten. Und oben habe ich meinen Ansatz, der schon weiter entwickelt ist, gepostet, aber er funktioniert nicht. Vielleicht fehlt nur noch ein kleiner Teil.
Und weltweit hat das anscheinend noch niemand gelöst.
Aber es ist doch normal, dass man wenn man hier einen Lösungsvorschlag gemacht hat, dann zumindest noch schreibt: "Genauer weiss ich es leider auch nicht". Denn dann wüsste jeder, was Sache ist, so gibt es zwar einen schonen Vorschlag, der sicher weiterhelfen könnte, aber nichts bringt, weil es eben nicht funktioniert und danach kein "Weiß leider auch nicht weiter" folgt. So ein Satz ist sehr hilfreich, fehlt aber immer wieder hier ... Zuerst hat es den Anschein, als gäbe jemanden, der eine Lösung hat, jedenfalls klingt der obige Lösungsvorschlag so, als wär sowieso alles so einfach, und wenn dann genau dieser Vorschlag nicht funktioniert, dann kann man doch bitte einfach noch einen Kommentar dazu schreiben. ("Hab leider keine Zeit"; oder "Hab mich vertan, ist doch kein richtiger Ansatz", oder etc etc).
Danke.
Funktionsfähige Lösung?
am 30.03.2010 - 12:41 Uhr
Welcher Lösungsansatz funktioniert nun und welchen kann man ignorieren?
Danke.
Wieder ein Modul hacken
am 30.03.2010 - 15:09 Uhr
Also auch dieses Modul hacken!
Es gibt immer mehr Module, wo es KEINE Lösung gibt und ein Patch oder Hacken nötig ist.
Hallo DrupalFan, wenn man
am 08.04.2010 - 11:07 Uhr
Hallo DrupalFan, wenn man sich das Problem mal genauer anschaut sieht es so aus:
Das Wysiwyg Modul deaktiviert den Button der die Textarea per Javascript teilt *unwiederruflich*. Das Wysiwyg Modul verändert, genau wie dieser Button, die Textarea im Nachhinein per Javascript. Diese beiden Skripte sind nicht kompatibel.
Das Skript teaser.js sucht nach der CSS Klasse "teaser". Um das Javascript für die textarea zu aktivieren wäre es also zusätzlich nötig der Textarea die Klasse "teaser" zurückzugeben. Da die beiden Skripte aber nicht kompatibel sind führt das zu einem Fehler.
Es scheint also unmöglich zu sein, diese Funktion wieder zu aktivieren!
Die Teaserfunktion kann aber trotzdem genutzt werden (ohne den Javascript Effekt) wenn man manuell den Tag
<!--break-->
einfügt.Auch wenn bei einem Eingabeformat kein Editor verwendet werden soll könnte man alternativ trotzdem einen Editor ohne jede Funktion für dieses Format aktivieren, eben nur mit der Schltfläche die den Teaser abtrennt.
Patchen
am 08.04.2010 - 12:45 Uhr
Danke.
Deinen letzten Satz verstehe ich nicht, aber alles andere habe ich im Prinzip auch schon selbst festgestellt.
Ist ja sowieso viel besser, wenn man das Modul patcht, das ist eine einfache uns saubere Lösung, die alle Möglichkeiten bietet ohne unsinnigen Aufwand. Das in Drupal viele Dinge unmöglich sind, manchmal nicht mal wenn man dafür Module schreibt, ist schon etwas traurig.
Unter
am 08.04.2010 - 13:13 Uhr
Unter "admin/settings/wysiwyg/profile/PROFIL-NUMMER/edit" gibt es bei vielen Editoren (z.B. CKEditor) einen Button "Endemarkierung für den Anrisstext". Du kannst ein Profil erstellen, das nur diesen Button nutzt, als Workaround.
In Drupal geht prinzipiell alles und ich glaube auch dass das Problem lösbar wäre, wenn man viel Zeit und Mühre reisteckt. Aber das ist wie mit einem Auto. Wenn du einen Sportwagen mit Traktorreifen und Trabbi-Lenkrad willst, der beim Rückwärtsfahren bellt, dann kannst du dir entweder selbst einen bauen, oder du kaufst dir nen Ferrari und baust ihn um. Je extravaganter die Wünsche sind, desto weniger Menschen wirst du finden die schonmal was ähnliches gebraucht haben, auch wenn es völlig legitim ist sowas zu wollen ;-)
So ist es mit Drupal auch. Ein Entwickler muss versuchen die Probleme für eine große Masse an Nutzern und Anwendungsbeispielen zu lösen. Dabei muss er sich oft zwischen 2 Wegen entscheiden. So eine Entscheidung ist dann manchmal schwer rückgänig zu machen.
Lösungsansatz (D6)
am 29.10.2011 - 16:38 Uhr
Ich habe mich auch gerade darüber geärgert, daß es hier eine vermeintlich unüberwindbare Kluft zwischen zwei "Denkschulen" gibt. Denn davon abgesehen ist die Idee und die Ausführung von sun wirklich hervorragend und die erste wirklich solide Lösung für Richtext-Addons, seit ich Drupal nutze.
Dabei ist eine mögliche Lösung eigentlich gar nicht so unmöglich, glaube ich - falls sie noch wen interessiert (ich bleibe noch ne Weile bei D6 in zwei Projekten).
Meine Idee, für ein Submodul, nur im Anriß:
1.) Es gibt ein oder mehrere konfigurierbare Flags (per user, per node-type, per path, was auch immer), die festlegen, ob Wysiwyg überhaupt aktiv wird.
2.) Wysiwyg wird an seinem Tun (speziell hinsichtlich wysiwyg_form_alter()) grundlegend gehindert, sprich, darf gar nicht erst was tun, sobald für den aktuellen user und/oder node und/oder Pfad festgestellt wird, daß hier ein "Stopschild" konfiguriert wurde.
Klingt für mich fast schon zu einfach um zu funktionieren. Übersehe ich was?
Sonst werde ich mich die Tage mal in das Modul einlesen und schauen, ob mal das lösen kann. Wenn ja bau ich ein kleines Addon. Ist das für andere hier noch interessant?
Nachtrag: Ein schnell hingeschmierter Submodul-Entwurf funktioniert problemlos. Da ich selbst diese Funktion gerne haben will, werde ich das zumindest in minimaler Funktion mal fix bauen.