Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Anfängerfragen ›

Vorschau Button und functions deaktivieren??

Eingetragen von Nashuja (123)
am 24.02.2009 - 03:29 Uhr in
  • Anfängerfragen
  • Drupal 6.x

Hi alle..

Ich würde gerne die Vorschau function deaktivieren oder besser den Button Vorschau komplett weg haben.

Fand diesen Post dazu, werd daraus aber nicht Wirklich schlau..

http://www.drupalcenter.de/node/16118

Kann mir da vieleicht jemand das ganze etwas genauer erklären wie ich den Button wegbekomme?

Vielen dank euch schon mal..

Drupal Version 6.9 DE

‹ Umfrage plazieren [gelöst] Benutzer - Rollen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

ok glaub ich hab es

Eingetragen von Nashuja (123)
am 24.02.2009 - 05:30 Uhr

ok glaub ich hab es fast^^

Habe mir mein 1. Modul gebastelt..

1. Datei mit Namen: killpreview.info

Inhalt:
name = killpreview
description = delete preview button
version = VERSION
core = 6.x

2. Datei mit Namen: killpreview.module

Inhalt:

<?php
function killpreview_form_comment_form_alter(&$form, $form_state) {
  unset(
$form['preview']);
}
?>

Ok.. alos das funktioniert ja auch, allerdings nur bei den Kommentaren.. dort ist dann der Vorschau buton weg *freu*

Nur leider bekomm ich es nicht hin das dieser olle Button überall weg ist.. für story, event, forum Eintrag

Selbst wenn ich z.b. story in das script schreibe anstatt comment bleibt bei story posten.. der Vorschau button sichtbar und nutzbar.

Ich möchte wenn es irgendwie geht.. ALLE Vorschau Buttons weg haben.

Irgendwer nee Idee?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Keiner nee Idee? Hab mit

Eingetragen von Nashuja (123)
am 24.02.2009 - 12:02 Uhr

Keiner nee Idee?

Hab mit allem Möglichen rumprobiert.. node, story, event ..nix greift nur bei comment gehts bisher.

Wäre aber irre Wichtig für mich das alle Vorschau buttons weg kommen^^

mfg
Michael

  • Anmelden oder Registrieren um Kommentare zu schreiben

hook_form_alter

Eingetragen von stBorchert (6003)
am 24.02.2009 - 12:12 Uhr

Moin!

Nashuja schrieb

function killpreview_form_comment_form_alter(&$form, $form_state) {

Du sagst Drupal, dass Du Formulare mit der ID "comment-form" verändern willst. Da kann sich erwartungsgemäss nichts bei anderen Formularen ändern.
Du musst Dir also noch weitere Implementierungen von hook_form_alter() in Verbindung mit der FormularId anlegen (analog zu ..._comment_form_alter, oder direkt hook_form_alter() verwenden und dort mit if($form_id === 'comment-form') { ... } else if($form_id === 'node-form') { ... } die Schaltfläche entfernen.

hth,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

ok.. Hier greift

Eingetragen von Nashuja (123)
am 24.02.2009 - 13:08 Uhr

ok..

Hier greift comment:

<?php
function killpreview_form_comment_form_alter(&$form, $form_state) {
  unset(
$form['preview']);
}
?>

nur was ich nicht verstehe ist.. wenn ich ein weiteres Modul mit anderem Namen bastel und anstatt comment z.b. story einsetze greift es nicht wenn ich eine story verfassen will. Hab alles ausprobiert.. node - edit - add - story - event bla bla

Ich leider 0 ahnung wie welche id dort welche ist...

nen Hinweis welche form z.b. das erstellen einer Story, eines Events hat .. wäre klasse und wie ich an die Information komme welche inhalte welche form id haben.

Dein Beispiel oben oder direkt hook_form_alter() verwenden und dort mit if($form_id === 'comment-form') { ... } else if($form_id === 'node-form') { ... } die Schaltfläche entfernen - komme ich nicht Wirklich zurecht. *Fehlt einfach die Progen Erfahrung zu und vorallem das Wissen um die ollen xxxx-form IDs

  • Anmelden oder Registrieren um Kommentare zu schreiben

hook_form_alter

Eingetragen von stBorchert (6003)
am 24.02.2009 - 13:37 Uhr

<?php
function killpreview_form_alter(&$form, $form_state, $form_id) {
 
drupal_set_message('ich bin das Formular mit der Id "'. $form_id .'"');
  if (
$form_id === 'node-form') {
   
// Node Formular
 
}
}
?>

hth,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

nice .. danke, aber... Diese

Eingetragen von Nashuja (123)
am 24.02.2009 - 13:51 Uhr

nice .. danke, aber...

Diese Message erhalte ich wenn ich auf Kommentar schreiben klicke *wo das mit comment ja geht*

* ich bin das Formular mit der Id "search_theme_form"
* ich bin das Formular mit der Id "comment_form"

Und diese wenn ich zum Beispiel im navmenü auf nen Termin erstellen klicke

* ich bin das Formular mit der Id "search_theme_form"
* ich bin das Formular mit der Id "event_node_form"

k.. soweit schick..

aber in dieses script kann nun event oder node oder form reinballern es reagiert nicht

<?php
function killpreview_form_node o. event o. form greifen hier nicht_form_alter(&$form, $form_state) {
  unset(
$form['preview']);
}
?>

Der olle Vorschau button bleibt mir erhalten:( Egal wat ich da schreibe^^
Bin bissel am Ende mit meinem mäßigen Latein:)

Trage ich z.b. event_node ein oder event-node gibts beim aktivieren des Moduls nen error

  • Anmelden oder Registrieren um Kommentare zu schreiben

hook_form_alter

Eingetragen von stBorchert (6003)
am 24.02.2009 - 13:56 Uhr

killpreview_form_alter() greift bei sämtlichen Formularen!
Bei stories wäre die Variante mit FormId killpreview_form_story_node_form_alter().
Du hast also diese Möglichkeiten:

<?php
function killpreview_form_alter(&$form, $form_state, $form_id) {
 
// greift bei sämtlichen Formularen
  // Unterscheidung nach $form_id möglich
}
 
function
killpreview_form_story_node_form_alter(&$form, $form_state) {
 
// greift beim Story-Formular
}
 
function
killpreview_form_event_node_form_alter(&$form, $form_state) {
 
// greift beim Event-Formular
}
 
function
killpreview_form_comment_form_alter(&$form, $form_state) {
 
// greift beim Comment-Formular
}
?>

hth,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

tjo.. das einzigste der

Eingetragen von Nashuja (123)
am 24.02.2009 - 14:18 Uhr

tjo.. das einzigste der scripte oben das greift ist das comment.. rest greift nicht:(

Besteht evnt die Möglichkeit das des mit taxo zu tun hat oder url aliase?

Aber dein Info Message script gibt ja klar aus.. welche id die seiten haben.. hmm

  • Anmelden oder Registrieren um Kommentare zu schreiben

Code

Eingetragen von stBorchert (6003)
am 24.02.2009 - 15:01 Uhr

Kannst Du den Quelltext mal auf DrupalBin posten?
Ansonsten: cache geleert?

  • Anmelden oder Registrieren um Kommentare zu schreiben

wenn ich dieses script

Eingetragen von Nashuja (123)
am 24.02.2009 - 15:03 Uhr

wenn ich dieses script einsetze..

<?php
function killpreview_form_alter(&$form, $form_state, $form_id) {
  unset(
$form['preview']);
}
?>

ist der Vorschau Button bei Kommentaren weg, aber
egal ob ich nee neue story, event usw erstelle sind die weiterhin vorhanden...

An dieser Stelle bin ich entweder zu sehr damit verwöhnt oder daran gewöhnt mit templates zu arbeiten aus anderen CMS oder ich bin einfach zu Blöd.

Jedenfalls scheint er die IDs nicht zu schlucken.

..und es wäre Extrem Wichtig die weg zu bekommen:(

  • Anmelden oder Registrieren um Kommentare zu schreiben

Struktur

Eingetragen von stBorchert (6003)
am 24.02.2009 - 15:13 Uhr

Schonmal daran gedacht, dass die Schaltfläche in den anderen Formularen vielleicht nicht so ansprechbar ist, da die Struktur anders ist?

<?php
drupal_set_message
('<pre>'. print_r($form, 1) .'</pre>');
?>

Das verrät Dir, welches Element die Schaltfläche wirklich ist.

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

k.. teste ich gleich

Eingetragen von Nashuja (123)
am 24.02.2009 - 15:18 Uhr

k.. teste ich gleich mal

cache geleert = keine änderung

Quellcode findest hier http://drupalbin.com/8226 = von story eingeben

  • Anmelden oder Registrieren um Kommentare zu schreiben

hmm der code oben gibt keine

Eingetragen von Nashuja (123)
am 24.02.2009 - 15:29 Uhr

hmm der code oben gibt keine message aus..
aber evnt hilft ja das weiter:

Der fckeditor hat ja die Ausschlißen/Einschließen funktion

Und gibt diese info in dem story add aus.

Die ID für das Ausschließen oder Einschließen dieses Element ist: edit-body - der Pfad ist: node/add/story

Edit: und im quelltext sind die Buttons so deklariert:

<input type="submit" name="op" id="edit-submit" value="Speichern"  class="form-submit" />
<input type="submit" name="op" id="edit-preview" value="Vorschau"  class="form-submit" />

  • Anmelden oder Registrieren um Kommentare zu schreiben

debug

Eingetragen von stBorchert (6003)
am 24.02.2009 - 15:49 Uhr

Der code sollte in Deine hook_form_alter(). Nur dort macht er Sinn.
Und das ist nicht der Quelltext Deines Moduls.

  • Anmelden oder Registrieren um Kommentare zu schreiben

ups.. passe es fix an und

Eingetragen von Nashuja (123)
am 24.02.2009 - 15:52 Uhr

ups.. passe es fix an und poste ergebnis^^

  • Anmelden oder Registrieren um Kommentare zu schreiben

Was ist

Eingetragen von Nashuja (123)
am 24.02.2009 - 16:30 Uhr

Was ist hiermit?

<?php
     
function killpreview_form_alter($form_id, &$form) {
        switch (
$form_id) { 
          case
'mycontenttype_node_form':
              unset(
$form['preview']);
              break;
        }
      }
    
?>

muss ich da für mycontenttype den jeweiligen contenttype eintragen ala event_node oder comment?
Aber schätze wird da selbe ergebniss wie vorher das es nur bei comment geht..

Ka wie ich diese Vorschau Buttons ansprechen soll...

  • Anmelden oder Registrieren um Kommentare zu schreiben

hook_form_alter

Eingetragen von stBorchert (6003)
am 24.02.2009 - 16:36 Uhr
Nashuja schrieb

Was ist hiermit?

Einfach falsch. Siehe hook_form_alter().

<?php
function killpreview_form_alter(&$form, $form_state, $form_id) {
 
drupal_set_message($form_id);
 
drupal_set_message('<pre>'. print_r($form, 1) .'</pre>');
}
?>

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

gnarf.. es muss doch

Eingetragen von Nashuja (123)
am 24.02.2009 - 16:48 Uhr

gnarf.. es muss doch irgendwie möglich sein son ollen Button im System zu disabeln.

Komm hier in diesem fall allerdings nicht weiter mit Drupal... war bisher reiner smf proger und da ist man sich schlicht templates gewohnt wo sowas deklariert ist und man es recht einfach disabeln kann..

Das Lustige ist.. mann kann die dinger umbennen.. ghet einwandfrei.. aber ausblenden geht nicht. Bis auf comment^^

Den code oben hatte ich im drupal bin gefunden, dachte nur wäre ja nee chance:)

Aber vielen lieben dank, das du so Bemüht bist Stefan... hoffe ich bekomm diese ollen Buttons wech.
Nee Simple Funktion ala Verwalten wäre nett für sowas, da ja nicht jeder der mit Drupal arbeitet die Vorschaufunktion braucht.

mfg
Michael

*Am Ende imo mit dem Latein^^

  • Anmelden oder Registrieren um Kommentare zu schreiben

hook_form_alter

Eingetragen von stBorchert (6003)
am 24.02.2009 - 22:50 Uhr

So. Ich hab jetzt spassenshalber mal schnell ein kleines Modul ("test.module") gebastelt und dort die folgende hook_form_alter() reingepackt:

<?php
function test_form_alter(&$form, &$form_state, $form_id) {
 
drupal_set_message('<pre>'. print_r($form_id, 1) .'</pre>');
}
?>

Das gibt mir, wenn ich auf node/add/story gehe folgendes aus: "story_node_form".
Ok, also mal mit hook_form_FORMID_alter() versucht:
<?php
function test_form_story_node_form_alter(&$form, &$form_state) {
 
drupal_set_message('<pre>'. print_r($form, 1) .'</pre>');
}
?>

Das gibt mir das hier aus (stark gekürzt):
Array
(
    [#id] => node-form
    [nid] => Array
        (
            [#type] => value
            [#value] =>
        )
     ...
    [buttons] => Array
        (
            [submit] => ...
            [preview] => Array
                (
                     ...
                )

        )
)

Na sowas.
Also schnell die Funktion geändert:
function test_form_story_node_form_alter(&$form, &$form_state) {
  unset($form['buttons']['preview']);
}

Und schawupps ist die Schaltfläche verschwunden. Ganz einfach so.
Das hättest Du auch hinbekommmen können, wenn Du die von mir vorgeschlagenen Schritte befolgt hättest. Wie gesagt, "hättest".

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Booh.. ich könnt dich

Eingetragen von Nashuja (123)
am 24.02.2009 - 23:10 Uhr

Booh.. ich könnt dich Knuddeln OoO

Jo, bei den array Ausgaben war ich vorhin, nach meiner Gehirnpause auch nochmal bei.. war aber wohl schon so verwirrt das ich nix ersichtliches gefunden hatte:)

Ok.. also dann Bastel ich mir mal die passenden Module..

Melde mich später obs alles klappt:9

Vielen lieben Dank erst mal..

mfg
Michael

  • Anmelden oder Registrieren um Kommentare zu schreiben

Alle Vorschau Button ausblenden: Lösung

Eingetragen von Nashuja (123)
am 24.02.2009 - 23:31 Uhr

Ok Stefan, erst mal vielen dank für diesen teamgeist und am Ball bleiben.

hat echt Spaß gemacht dieses problem mit dir zu lösen:)

Hier nun Module:

Alle Vorschau Buttons Ausblenden

Infodatei:killpreviewall.info

name = killpreviewall
description = delete story preview button
version = VERSION
core = 6.x

Moduldatei: killpreviewall.module

<?php
function killpreviewall_form_alter(&$form, $form_state, $form_id) {
  unset(
$form['buttons']['preview']);
}
?>

Die Codes um einzelne Vorschau Buttons auszublenden poste ich nachher noch nach..
Aber denke und hoffe das wird einige Interessieren:)

mfg
Michael

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Ветошь для протирки оборудования
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 4 Tagen
  • Hey danke
    vor 2 Wochen 5 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 6 Tagen
  • Hallo, im Prinzip habe ich
    vor 3 Wochen 3 Tagen
  • Da scheint die Terminologie
    vor 3 Wochen 3 Tagen
  • Kannst doch auch alles direkt
    vor 4 Wochen 1 Tag
  • In der entsprechenden View
    vor 4 Wochen 1 Tag
  • Dazu müsstest Du vermutlich
    vor 4 Wochen 1 Tag
  • gelöst
    vor 6 Wochen 4 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 5 Tagen

Statistik

Beiträge im Forum: 250234
Registrierte User: 20455

Neue User:

  • JoMek
  • Znogsnernoimb
  • ByteScrapers

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 17 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association