Schritt zur ProduktionBildblock auf die Leinwand ziehen und den Hintergrund auswählen.Ziehe das Symbol auf die Leinwand.Klicken Sie auf Bildblock und gehen Sie zum Hintergrundstil-Tab, klicken Sie auf Hintergrund und klicken Sie auf Bild-Button.Wenn Modal angezeigt wird, klicken Sie auf jedes Bild (nicht doppelklicken...
artf
Du hast recht, seltsames Problem, ich schaue es mir später an. Ich werde es schließen, da es Teil des Grapedrop-Produkts ist und nicht des Grapesjs-Kerns, übrigens danke für den Bericht
lock[bot]
Dieser Thread wurde automatisch gesperrt, da es nach seiner Schließung keine jüngste Aktivität gegeben hat. Bitte eröffne eine neue Ausgabe wegen verwandter Bugs.
Hallo... Und entschuldigt mein Englisch! Zunächst einmal herzlichen Glückwunsch zu diesem fantastischen Framework. Ich versuche, mit GrapeJS meinen eigenen WordPress-Editor zu erstellen, und ich habe einen Zweifel. Wenn ich in meinem Code einen WordPress-"Shortcode" verwende, wie kann ich diesen Shortcode in grapeJS v...
artf
Ich weiß nicht, welche Art von API WordPress für Shortcodes erlaubt, aber wenn möglich, würde ich sie rendern und als Blöcke im Editor einfügen.
sandromattei
Entschuldigung, vielleicht habe ich mich falsch erklärt. Ich möchte einen Shortcode in den Code einfügen (z. B. [mein Shortcode param1 = Wert1, param2 = Wert2 /] und stattdessen eine HTML-Ausgabe darstellen (z. B. <div, klasse = "param1...
artf
Wenn du das zur Laufzeit machen musst, solltest du eine benutzerdefinierte Komponente erstellen, die beim Rendern einen asynchronen Aufruf von WordPress macht, um zu bitten, diesen Shortcode zu rendern (wie gesagt, ich kenne mich mit der W...
Betriebssystem: Windows 10 x64 Browser: Chrome 72.0.3626.121 x64 GrapesJS: v0.14.55 Hallo, ich habe einige benutzerdefinierte Komponenten (Bootstrap-Tabs) in einem Plugin, aus irgendeinem Grund werden einige Komponenten des Plugins nicht von GrapesJS erkannt, wenn es aus den Containerelementen geladen wird, und andere...
artf
Wie du siehst, ist sein Typ 'Div'... Deshalb erreicht es nie den anderen Typ... Schau, warum und wo dieser Typ deklariert wird
kaoz70
Okay, das war das Problem! Ich dachte, der 'Div'-Typ sei ein Standardtyp, der von GrapesJS festgelegt wurde. Danke für die ganze Hilfe!
Hallo, ich bin mir nicht sicher, ob das ein Bug ist oder nicht. Aber ich habe ein merkwürdiges Verhalten bemerkt: Wenn ich einen Block ziehe, der eine Komponente mit einer Skriptfunktion enthält, scheint er ihn vor dem Fallen in die Leinwand einzufügen. Und wenn du es weglässt, fügt es eine weitere Zeit hinzu, das Skr...
simplecommerce
Also habe ich mich umgesehen und herausgefunden, dass es die 'updateScript'-Methode im 'canvasView' ist, die jedes Mal aufgerufen wird, wenn eine 'script'-Eigenschaft auf einer Komponente gefunden wird, unabhängig davon, ob sie noch über d...
simplecommerce
Meine vorherige Lösung hat nicht funktioniert, also musste ich sie verwerfen, also habe ich das Problem wieder geöffnet.
artf
Hallo @simplecommerce wenn du denkst, dass es ein Fehler ist, eröffne bitte ein Problem, indem du der Vorlage FOLGST und eine reproduzierbare Live-Demo des Problems erstellst. Das ist wirklich wichtig, denn da wir nicht viel Freizeit haben...
Genauer gesagt: https://grapesjs.com/docs/modules/Traits.html#define-new-trait-type Erstens verweist das Ereignis 'keyUp' auf 'onChange', obwohl der Funktionsname tatsächlich 'onChange' ist. Als Nächstes, selbst wenn du das reparierst, wird 'this.model.get('value')' bei jeder Änderung zu einem leeren/nullen Wert ausge...
jwilson-lyonscg
Vergiss es. Ich habe die Syntax falsch verstanden. Mir war nicht klar, dass 'onChange' und 'onValueChange' anscheinend zwei verschiedene, nicht zusammenhängende Methoden sind. Mir ist nicht klar, was 'onChange' genau bewirkt.
lock[bot]
Dieser Thread wurde automatisch gesperrt, da es nach seiner Schließung keine jüngste Aktivität gegeben hat. Bitte eröffne eine neue Ausgabe wegen verwandter Bugs.
Wir verwenden blockManager, wie Sie im Beispiel sehen, das auf Codesandbox gepostet wurde, und folgen der Dokumentation zum benutzerdefinierten Rendering. Das unerwartete Verhalten für uns ist, dass jedes Mal, wenn ein Benutzer die Stile eines Blocks bearbeitet, alle Blöcke mit diesem Stil aktualisiert werden, weil de...
artf
Zunächst einmal hat dein Beispiel/Problem nichts mit dem benutzerdefinierten Rendering in Blöcken zu tun (du würdest es nutzen, um die Benutzeroberfläche von Blöcken und nicht von Komponenten im Canvas anzupassen). Eine Lösung ist, diese K...
trivago-vgarcia
@artf Danke für die Antwort! Entschuldigung, weil das Beispiel nicht klar war. Das passiert in jedem Fall, ich meine, selbst wenn sie in der Standardvorlage definiert sind, und nicht nur, wenn ein neuer Selektor hinzugefügt wird. Die Verwe...
artf
Es passiert in jedem Fall, ich meine, selbst wenn sie in der Standardvorlage definiert sind, und nicht nur, wenn ein neuer Selektor hinzugefügt wird. Deshalb wird die Verwendung von selector:add nicht alle Fälle beheben. 'Selector:Add' wir...
Hallo @artf, Wir verwenden Flexbox-Block. Das Problem ist, dass wenn wir versuchen, die mittlere Spalte zu vergrößern, alle anderen Spalten betrifft, zum Beispiel automatisch die Breite der linken Spalte verringert. Es sollte nur die rechte Spalte betreffen. Um dieses Szenario zu erstellen, fügen Sie bitte drei Spalte...
artf
So soll die Flexbox funktionieren, wenn man eine mittlere Säule verkleinert. Was du erreichen willst, ist etwas anders und würde eine andere Art von Implementierung erfordern, daher würde ich vorschlagen, deine Gitterkomponenten zu erstell...
lock[bot]
Dieser Thread wurde automatisch gesperrt, da es nach seiner Schließung keine jüngste Aktivität gegeben hat. Bitte eröffne eine neue Ausgabe wegen verwandter Bugs.
Ich habe Schwierigkeiten, eine neue Komponente für ein Element zu erstellen <button> . Was übersehe ich? Ist hier etwas verbuggt? Funktioniert einwandfrei, wenn ich es auf ein "<input>Element" ändere:
jwilson-lyonscg
Okay, nach weiterem Experimentieren scheint meine Komponentenstruktur korrekt zu sein, aber mein Button-Block funktionierte nicht richtig. Der Button-Block sah also so aus: Beim Ziehen dieses Blocks in die Leinwand wurde er nicht als Butto...
artf
Ich denke, das Problem hier ist ein Missverständnis des Schlüssels 'Inhalt'. Wenn du einen Block deklarierst '''js Redakteur. BlockManager.add('button-block', { // ... Inhalt: { Typ: 'Button', Droppbar: Falsch, Attribute: { Titel: 'Hallo',...
lock[bot]
Dieser Thread wurde automatisch gesperrt, da es nach seiner Schließung keine jüngste Aktivität gegeben hat. Bitte eröffne eine neue Ausgabe wegen verwandter Bugs.
Ich möchte meine eigenen Fähigkeiten zum Ziehen und Platzieren entwickeln. Ich liebe Grapesjs, möchte aber wirklich mehr Kontrolle darüber haben, wie das Ziehen von Elementen im Editor-Bereich funktioniert. Gibt es eine Möglichkeit, die eingebaute Methode zu deaktivieren, damit ich meine eigene erstellen kann? Ich wei...
artf
Nun, bei der Komponente selbst wird beim Klicken auf das Move-Icon der 'tlb-move'-Befehl ausgeführt, sodass man ihn tatsächlich überschreiben kann, indem man einen neuen mit derselben ID einfügt, aber leider gibt es keine einfache Möglichk...
lock[bot]
Dieser Thread wurde automatisch gesperrt, da es nach seiner Schließung keine jüngste Aktivität gegeben hat. Bitte eröffne eine neue Ausgabe wegen verwandter Bugs.
Zum Beispiel Ich habe eine Elternkomponente und diese Elternkomponente hat 4 Kindkomponenten. Hier mit der Trait-Funktionalität möchte ich auch die dritte Kindkomponente auf Position 1 verschieben. Ich kann eine Komponente von jeder Position auf Last verschieben, indem ich sie mit component.remove() aus der bestehende...
artf
Verwenden Sie 'at' als Index in Optionen, z. B. 'component.append(comp, { at: 0 })' setzt das 'comp' als erstes Element
lock[bot]
Dieser Thread wurde automatisch gesperrt, da es nach seiner Schließung keine jüngste Aktivität gegeben hat. Bitte eröffne eine neue Ausgabe wegen verwandter Bugs.