Wir haben ein benutzerdefiniertes Modul mit dem folgenden Code
app/design/frontend/rwd/Theme1/layout/aitcg.xml
<action method="addJs"><script>aitoc/aitcg/Aitcg/View/Abstract.js</script></action>
Da wir nicht PHP - Code in dieser .JS Datei verwenden können , ist es eine Möglichkeit , wir Code vorhanden aus bewegen können Abstract.js
Datei zu einem gewissen .phtml
Datei?
Bearbeiten
Ich folgte Raphaels Antwort und änderte den Code wie folgt:
<block type="aitcg/template" name="aitcg_js_styles1" template="aitcg/js_styles1.phtml" />
Die Ergebnisse der Abstract.J-Datei werden jedoch nicht in js_styles1.phtml angezeigt
Layoutdatei : http://pastebin.com/BZGRaiDH
js_styles1.phtml : http://pastebin.com/m85q9eMh
Ich versuche onclick button = onclick="setproductlogin('<?php echo $_product->getEntityId()?>');setrequestlogin();"
aber dies funktioniert nicht in der .JS-Datei, also versuche nur ich, .js-Code in .php-Code zu kopieren.
<script>
_getControlPanelHtml: function()
{
if (this.config.editorEnabled) {
return '<div id="aitcg-control-panel">' +
'<button id="submit-editorApply-{{rand}}" onclick="setproductlogin('<?php echo $_product->getEntityId()?>');setrequestlogin();">SAVE DESIGN</button>' +
'<button id="submit-editorReset-{{rand}}" >{{reset_text}}</button>' +
'</div>';
}
return '';
},
</script>
Wenn ich die Hinweise zum Vorlagenpfad überprüft habe, wird die HTML-Datei geladen, aber das JS-Code-Ergebnis wird nicht im Frontend angezeigt. aber andere HTML-, PHP-, JS-Code-Ergebnisse werden angezeigt .....
Konsole
Müssen wir eine externe js-Bibliothek laden, wenn ja, wie man das findet?
Edit2
Ich habe den folgenden Code in der Datei js_styles1.phtml ausprobiert, aber er funktioniert immer noch nicht
<script type="text/javascript" src="http://sbdev2.kidsdial.com:81/js/aitoc/aitcg/Aitcg/View/Abstract.js"></script>
quelle
Antworten:
Stellen Sie sicher, dass
<?php echo $this->getChildHtml() ?>
auf Ihrem aufgerufen wirdhead.phtml
.Wenn dieser Code nicht beendet wird, müssen Sie diesen Code unter head.phtml hinzufügen
Aktualisieren
Sie haben Probleme wegen
Js Abhängigkeit von einer js-Datei zu einer anderen js-Datei
Hier hängt aitoc / aitcg / Aitcg / View / Popup.js, aitoc / aitcg / Aitcg / View / Gallery.js usw. vom js-Code von aitcg / js_styles.phtml ab
Wie Sie diese Abstract.js unter js_styles.phtml und dies gesetzt haben
js file properly have calling after
Das bedeutet, dass nicht alle js-Dateien von aitoc abgerufen werden,
properly of js_styles.phtml
da dieser js-Code immerhin aitoc js-Dateien ist.Lösung:
Entfernen Sie alle js-Dateien des Aitoc- Layout- Handlers
<catalog_product_view>
und rufen Sie diese alle js-Dateien unter js_styles.phtml manuell auf
quelle
<?php echo $this->getChildHtml() ?>
Code ist in der Datei head.phtml vorhanden .....<?php echo $this->getChildHtml('aitcg_js_styles1'); ?>
Nun, Sie können stattdessen eine HTML-Datei verwenden, indem Sie Folgendes ersetzen:
Mit:
Verschieben Sie dann einfach Ihr JS in diese HTML-Datei und optimieren Sie es mit Ihren PHP-Änderungen.
quelle
action code
durchblock code
wie hier:<block type="aitcg/template" name="aitcg_js_styles1" template="aitcg/js_styles1.phtml" />
, aber es ist nicht zum Anzeigen der Ergebnisse.js file - upload image & add text buttons are missing
wie in link1 , bevor diese Verbindungen als wurden Anzeigen link2 , Code: `js_styles1. phtml: pastebin.com/YhgmvCMx . Wo habe ich falsch gemacht?Wenn ich Ihre Frage verstehe, möchten Sie Ihren JS-Code in HTML kopieren
Befolgen Sie daher die folgenden Schritte
Sie haben bereits eine PHTML-Datei erstellt und diese im Frontend gerendert
Kommentieren / entfernen Sie zuerst diesen XML-Code für das JS-Rendering.
Kopieren Sie den JS-Code in die PHTML-Datei innerhalb des Skript-TAG
zum Beispiel.
quelle
Löschen Sie das tatsächliche Java, das Sie aus der Kopfdatei eingefügt haben.
Fügen Sie eine davon in den Kopf Ihrer HTML-Datei ein, je nachdem, wo sich Ihre JS-Datei befindet.
Wenn es sich in der Basis-JS-Datei von Magento befindet, verwenden Sie Folgendes:
oder wenn es sich im js-Ordner Ihrer Haut befindet, verwenden Sie Folgendes:
quelle
Um dies zu erreichen, können Sie Ihre PHP-Codevariable mithilfe der Konfigurationsvariablen an Ihren JS-Code übergeben. Fügen Sie Ihrer Datei app / design / frontend / rwd / Theme1 / template / aitcg / view / options / type / cgfile.phtml die folgende Zeile hinzu
nach der Zeile,
Jetzt können Sie mit dieser Variablen
isUserLoggedIn
überprüfen, ob der Benutzer in Ihrem JS-Code angemeldet ist oder nicht.Aktualisieren Sie Ihre JS-Funktion
initObservers
vonzu
Wenn ein Gastbenutzer auf die Schaltfläche "Design speichern" klickt, wird das Design nicht gespeichert und das in Ihrem Code verwendete Anmelde-Popup wird geöffnet.
quelle