คำถามติดแท็ก javascript

JavaScript (JS) เป็นภาษาสคริปต์ฝั่งไคลเอ็นต์ซึ่งอนุญาตให้โต้ตอบกับผู้ใช้ควบคุมเบราว์เซอร์สื่อสารแบบอะซิงโครนัสและเปลี่ยนแปลงเนื้อหาของเอกสารที่แสดง โดยค่าเริ่มต้น Magento 1 มาพร้อมกับห้องสมุด prototype.js และ Magento 2 มาพร้อมกับ jQuery ใช้แท็ก 'prototype-js' และ 'jquery' สำหรับคำถามเกี่ยวกับไลบรารีเหล่านั้น

4
การเพิ่ม jQuery Library ไปยัง Magento 2
นักพัฒนาบุคคลที่สามสามารถเพิ่มห้องสมุด jQuery ลงใน Magento 2 ได้อย่างไร? ในขณะที่ Magento 2 รวมถึงรุ่นของ jQuery ในธีมส่วนหน้าวัตถุ jQuery จะไม่สามารถใช้งานได้ทันทีในเนมสเปซส่วนกลาง ฉันเชื่อว่านี่เป็นเพราะ Magento 2 ใช้ RequireJS เพื่อดึงใน jQuery และ RequireJS จะไม่โหลดไฟล์โมดูลจนกว่าจะต้องการ สิ่งนี้นำเสนอปัญหาสำหรับปลั๊กอิน jQuery โดยปกติฉันจะรวมปลั๊กอินที่มี HTML ซึ่งมีลักษณะเช่นนี้ <script type="text/javascript" src="http://magento-1-9-2-2.dev/js/commercebug/jquery-ui-1.8.custom/js/jquery.cookie.js"></script> อย่างไรก็ตามสิ่งนี้ไม่สามารถทำได้กับ Magento 2 เนื่องจากjquery.cookie.jsไฟล์กำหนดปลั๊กอิน jQuery โดยใช้วัตถุ jQuery ทั่วโลกมันจะล้มเหลวใน Magento 2 โดยมีjQuery is not definedข้อผิดพลาด นักพัฒนาส่วนหน้าควรรวมไลบรารี่ปลั๊กอิน jquery มาตรฐานไว้ในแอปพลิเคชันส่วนหน้าของ Magento …

4
Magento2 Localization Javascript
คำถามที่คล้ายกันได้ถูกถามไว้แล้วที่นี่: Magento 2 javascript text translationแต่ Magento อัพเดทเทคนิคการแปลนี้ในเวอร์ชั่นเบต้า ฉันจะเพิ่มหรืออัปเดตการแปลที่ใช้โดย Javascript ได้อย่างไร ฉันพบว่า Magento สร้างไฟล์ชื่อ 'js-translation.json' ในโฟลเดอร์คงที่ หากฉันแก้ไขไฟล์นี้โดยตรงฉันเห็นว่าการแปลของฉันได้รับการอัพเดต แต่ไฟล์นี้ถูกสร้างขึ้นที่ไหนและฉันจะเพิ่มการแปลได้อย่างไรเพื่อวีโอไอพีจะเพิ่มไฟล์นี้ใน js-translation.json โดยอัตโนมัติเมื่อมันถูกสร้างขึ้น? ปรับปรุง คำตอบที่ถูกต้องสำหรับคำถามนี้ยังไม่ได้รับคำตอบ Mage2.PRO ชี้ให้ฉันเห็นทิศทางที่ถูกต้องไม่ใช่คำตอบทั้งหมด js-translation.json ของฉันยังว่างเปล่าเมื่อสร้าง ตัวอย่างเช่นฉันต้องการแปลปุ่มเพิ่มลงในรถเข็น ปุ่มนี้มีสามสถานะเพิ่มลงในรถเข็นเพิ่ม ... และเพิ่ม ... ฉันจะแปลคำเหล่านี้ได้อย่างไร อีกตัวอย่างหนึ่งคือ 'คุณไม่มีรายการสินค้าในตะกร้าสินค้า' ข้อความใน minicart ฉันคิดว่าวลีเหล่านี้ควรได้รับการแปลจาก js-translation.json แต่จะเพิ่มในตำแหน่งใดเพื่อให้ไฟล์เหล่านี้เต็มไปด้วยคำแปลเหล่านี้

1
วิธีแสดงบล็อกที่กำหนดเองในวิธีการจัดส่งให้เลือกใน Magento 2
ใช้ลิงค์อ้างอิงวิธีการเพิ่มบล็อกที่กำหนดเองที่วิธีการจัดส่งด้านล่างในการชำระเงินครั้งหน้า? ฉันสามารถสร้างบล็อคการขนส่งเพิ่มเติมได้ที่ด้านล่าง แต่ฉันต้องการแสดงเนื้อหาเท่านั้นเมื่อเลือกวิธีการจัดส่ง เมื่อลูกค้าเลือกวิธีการจัดส่งเคอร์เซอร์ควรไปที่ข้อมูลเพิ่มเติมและฟิลด์ที่กำหนดเองและผู้ใช้ควรป้อนข้อมูล เมื่อเราเลือกวิธีการจัดส่งแบบอื่นข้อมูลที่เกี่ยวข้องควรจะเกิดขึ้นถ้ามี Div อื่นควรซ่อนอยู่ เหมือนกับhttp://excellencemagentoblog.com/blog/2011/11/07/magento-advanced-shipping-method-development/ใน Magento 2 ฉันได้นำไปใช้ใน Magento 1

1
Magento2: ฉันจะลบล้าง core js module price-box.js ได้อย่างไร
Magento_Catalog/js/price-box.jsฉันต้องการที่จะขยาย ฉันได้ใช้คุณลักษณะ 'mixins' price-box.jsแต่ก็ไม่ได้ทำงานให้ requirejs-config.js: var config = { config: { mixins: { 'Magento_Catalog/js/price-box': { 'My_Module/js/price-box/pluggin': true } } } }; My_Module/view/frontend/web/js/price-box/pluggin.js define(function () { 'use strict'; return function (target) { // modify target var reloadPrice = target.reloadPrice; target.reloadPrice = function() { cosole.log("hello"); }; return target; }; });

4
PageSpeed ​​- กำจัดจาวาสคริปต์และ CSS ที่บล็อกการแสดงผลในเนื้อหาที่อยู่ด้านบน
ฉันกำลังใช้งานmagento 1.9และฉันกำลังใช้สิ่งRWD sliderที่มาพร้อมกับ Magento 1.9 ในหน้าแรก Google PageSpeedไม่ชอบสิ่งนี้และพูดว่า: กำจัดการปิดกั้นการแสดงผล JavaScript และ CSS ในเนื้อหาครึ่งหน้าบน ฉันจะทำอย่างไรกับไฟล์จาวาสคริปต์นี้ซึ่งเรียกแถบเลื่อนนี้: http://www.MYDOMAIN/media/js/sdhfksjfhdsjvbskj8e4w.js

3
คุณภาพเยี่ยมเพิ่ม CSS และ JS รวมถึงส่วนท้าย
ฉันกำลังทำการเพิ่มประสิทธิภาพ Yslow ของเว็บไซต์ Magento ของฉันและพยายามเพิ่ม CSS และ Js ไปยังส่วนท้ายของเว็บไซต์ ในขณะนี้ฉันกำลังใช้แท็กหัวอ้างอิงใน XML โครงร่างและการใช้addJsและaddCssการทำงานเพื่อรวมไฟล์ทั้งหมดของฉัน ฉันพยายามสลับการอ้างอิงส่วนหัวไปยังส่วนท้าย แต่ได้รับข้อผิดพลาดเมื่อฉันพยายามดูไซต์ มีวิธีการทำสิ่งนี้ในlocal.xml หรือสิ่งนี้จะต้องทำฮาร์ดโค้ดในไฟล์เทมเพลตส่วนท้ายหรือไม่?
15 layout  javascript  css 

2
เมื่อผสาน CSS หรือ JS ไฟล์ใหม่จะถูกสร้างขึ้นสำหรับแต่ละประเภทเพจ
เรามีไฟล์ CSS และ JS ขนาดเล็กจำนวนมากและการเปิดใช้งานการผสานดูเหมือนจะเป็นตัวเลือกที่ดี ไฟล์ CSS และ JS ส่วนใหญ่ใช้ในทุกหน้า (หน้าหลักหน้าหมวดหมู่หน้ารายละเอียดผลิตภัณฑ์) เมื่อใดก็ตามที่เราเห็นว่ามีการโหลดไฟล์ผสานที่แตกต่างกันอีกครั้งในแต่ละหน้าแม้แต่ CSS ที่มีอยู่จะต้องทับซ้อนกัน เราจะหลีกเลี่ยงปัญหานี้และนำข้อมูลกลับมาใช้ใหม่ได้อย่างไร

1
Magento 2: วิธีการแสดงตัวเลือกที่กำหนดเองในไฟล์ phtml อื่น
เราจะแทนที่ตำแหน่งนี้ในตัวเลือกที่กำหนดเองเพื่อแสดงในไฟล์ phtml อื่นได้อย่างไร เพิ่มรหัสนี้checkout_cart_index.xmlซึ่งแทนที่เท่านั้นform.phtmlไม่แทนที่default.phtmlไฟล์ <?xml version="1.0"?> <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <!-- <update handle="checkout_cart_item_renderers"/> --> <body> <referenceContainer name="content"> <referenceBlock name="checkout.cart.form"> <action method="setTemplate"> <argument name="template" xsi:type="string">Bespoke_Bespoke::cart/form.phtml</argument> </action> </referenceBlock> <referenceBlock name="checkout.cart.item.renderers.override"> <action method="setTemplate"> <argument name="template" xsi:type="string">Bespoke_Bespoke::cart/item/default.phtml</argument> </action> </referenceBlock> </referenceContainer> </body> ฉันได้รับข้อผิดพลาดเกี่ยวกับcheckout.cart.item.renderersเด็กที่มีนามแฝงว่า 'ง่าย' ฉันได้แก้ไขไฟล์นั้นแล้วcheckout_cart_item_renderer.xml <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <!-- <update handle="checkout_item_price_renderers"/> --> <body> <referenceBlock name="checkout.cart.form"> <action …

3
Magento 2: การซิงค์แบ็คเอนด์และส่วนหน้าของรัฐ / แคช
Magento 2 มีระบบหรือ abstractions สำหรับจัดการสถานะระหว่างแบ็กเอนด์และที่เก็บข้อมูลโลคัลบนส่วนหน้าหรือไม่? ฉันกำลังทำงานในการย้ายคุณลักษณะสำหรับการกู้คืนรถเข็นที่ถูกทอดทิ้งของผู้ใช้ผ่าน URL การเปลี่ยนเส้นทาง ในรูปแบบที่เรียบง่ายเช่น URL http://magento.example.com/restore/the/cart?identifier=sdkfjh48v237g5 จะโหลดเครื่องหมายคำพูดลงในรถเข็นของผู้ใช้ปัจจุบันโดยอ้างอิงจาก quote_id ที่เข้ารหัสในตัวระบุ ใน Magento 1 สิ่งนี้ค่อนข้างง่าย - คุณเพียงแค่ต้องอัปเดตข้อมูลเซสชัน Checkout ของผู้ใช้ด้วย ID ใบเสนอราคาที่ถูกต้อง อย่างไรก็ตามวีโอไอพี 2 เพิ่มในริ้วรอยของการจัดเก็บข้อมูลในท้องถิ่น แอปพลิเคชันส่วนหน้าของ Magento 2 ดูเหมือนว่าจะแคชข้อมูลในฐานข้อมูลที่จัดเก็บในท้องถิ่นของเบราว์เซอร์ ซึ่งรวมถึงข้อมูลสำหรับการสร้างมินิรถเข็น สิ่งนี้หมายความว่าถึงแม้ว่าผู้ใช้งานโปรแกรมเมอร์ (ฉัน) จัดการเพื่อเปลี่ยนเซสชัน ID เซสชันในแบ็กเอนด์มินิเกวียนจะยังคงแสดงข้อมูลรถเข็น เก่า นี่เป็นเพียงตัวอย่างหนึ่งของปัญหาที่เกิดจากการไม่รู้ (หรือมี) API เดียวสำหรับการจัดการสถานะแอปพลิเคชันในส่วนแบ็คเอนด์และส่วนหน้า สำหรับปัญหาเฉพาะของฉันฉันมีปลายทางของฉันแสดงหน้า HTML ที่มีจาวาสคริปต์บางส่วนล้างข้อมูลด้วยตนเองที่จัดเก็บในท้องถิ่นแล้วเปลี่ยนเส้นทางผู้ใช้ไปยังหน้าอื่น - แต่มันรู้สึกเหมือนแฮ็คขั้นต้น Magento 2 มี …

2
การตรวจสอบวันที่เริ่มต้นและสิ้นสุด
ฉันได้รับการทำงานในรูปแบบผู้ดูแลระบบที่ผมต้องการให้ผู้ใช้เลือกและStart DateEnd Date ฉันมีเพื่อให้การตรวจสอบดังกล่าวที่จะต้องมากกว่าEnd DateStart Date ใครช่วยกรุณาช่วยฉันในการจัดทำคลาสการตรวจสอบความถูกต้องของ Magento สำหรับวันเริ่มต้นและวันที่สิ้นสุดกับสถานการณ์ตามที่อธิบายไว้ข้างต้น ถ้ามันเป็นไปไม่ได้ด้วยการตรวจสอบ Magento เริ่มต้นกรุณาโพสต์รหัส JS ที่กำหนดเอง นอกจากนี้ยังอยู่ในฟอร์มของฉันสำหรับช่วงวันที่ $dateFormatIso = Mage::app()->getLocale()->getDateFormat( Mage_Core_Model_Locale::FORMAT_TYPE_SHORT ); $fieldset->addField('start_date', 'date', array( 'label' => Mage::helper('myhelper')->__('Start Date'), 'name' => 'start_date', 'note' => $this->__('Start Date'), 'required' => true, 'image' => $this->getSkinUrl('images/grid-cal.gif'), 'format' => $dateFormatIso, 'class' => 'required-entry validate-date validate-date-range date-range-start_date-from' )); …

2
Magento 2: แท็ก '<<แต่ละ /> `คืออะไร
ใกล้ที่สุดเท่าที่ฉันสามารถบอกได้เมื่อคุณดูกริดในแบ็กเอนด์ของวีโอไอพีเทมเพลต KnockoutJS "โหลดผ่าน XHR" ต่อไปนี้คือสิ่งที่เริ่มแสดงผลสิ่งต่าง ๆ File: vendor/magento//module-ui/view/base/web/templates/collection.html URL: http://magento.example.xom/pub/static/adminhtml/Magento/backend/en_US/Magento_Ui/templates/collection.html &lt;each args="data: elems, as: 'element'"&gt; &lt;render if="hasTemplate()"/&gt; &lt;/each&gt; อย่างไรก็ตาม - ฉันรู้สึกว่า&lt;each/&gt;แท็กและ&lt;render/&gt;แท็กคืออะไร พวกเขาไม่ได้เป็นหรือไม่เป็นส่วนหนึ่งของสต็อก KnockoutJS ฉันรู้ว่าเป็นไปได้ที่จะเพิ่มแท็กที่กำหนดเองไปที่ KnockoutJS ผ่านส่วนประกอบแต่ฉันไม่เห็นสถานที่ใด ๆ ที่ชัดเจนซึ่งมีชื่อองค์ประกอบeachหรือrenderถูกเพิ่มลงใน KnockoutJS ดังนั้นฉันไม่แน่ใจว่าสิ่งเหล่านี้เป็นส่วนประกอบที่ลงทะเบียนที่ไหนฉันไม่ทราบหรือการปรับแต่งอื่น ๆ ที่ Magento ได้ทำกับ KnockoutJS ที่เปิดใช้งานแท็กที่กำหนดเองหรืออย่างอื่น หมายเหตุ:ฉันไม่ได้อยู่ในความมืดอย่างสมบูรณ์ที่นี่ - ฉันได้รับ&lt;each/&gt;มันอาจซ้ำแล้วซ้ำอีกทุกองค์ประกอบเด็ก UI ที่แสดงใน JSON และการแสดงผลแม่แบบของมัน (ถ้าแม่แบบที่มีอยู่) สิ่งที่ฉันไม่ชัดเจนเลยคือการใช้งานแท็กเหล่านี้อย่างไร ฉันต้องการดูว่ามีการนำไปใช้ที่ใดฉันจึงสามารถดีบักวิธีการผูกข้อมูลและเข้าใจกลไกที่ Magento ใช้ในการสร้างแท็กเหล่านี้ในกรณีที่มีผู้อื่น

2
Magento 2: เอกสารการอ่าน Javascript Developer Certification
Magento เพิ่งประกาศ สอบรับรอง JavaScriptสำหรับ Magento2 หลังจากอ่านในหน้านี้: https://u.magento.com/magento-2-certified-professional-javascript-developer ฉันมีคำถามบางอย่างเกี่ยวกับการสอบการรับรองผู้พัฒนา JavaScriptนี้ สื่อการเรียนประเภทใดที่มีประโยชน์สำหรับการเตรียมการสอบรับรองจาวาสคริปต์ คะแนนที่ผ่านสำหรับการสอบรับรองสคริปต์ Java นี้คือเท่าไหร่ มีวัสดุการศึกษาอื่น ๆ สำหรับการสอบนี้หรือไม่? นโยบายการทดสอบซ้ำสำหรับการสอบนี้คืออะไร

4
ข้อผิดพลาดของตัวสลับเปลี่ยน Magento 2 Store ใน“ section-config.js” Uncaught TypeError: ไม่สามารถอ่านคุณสมบัติ '*' จากไม่ได้กำหนด (…)
ฉันกำลังใช้ตัวจัดการร้านค้าแบบกำหนดเองในธีมที่กำหนดเองของฉัน เทมเพลตบล็อกมีดังนี้: &lt;?php if (count($block-&gt;getStores())&gt;1): ?&gt; &lt;?php $id = $block-&gt;getIdModifier() ? '-' . $block-&gt;getIdModifier() : ''?&gt; &lt;span&gt;&lt;?php echo $block-&gt;escapeHtml($block-&gt;getStoreName()) ?&gt;&lt;/span&gt; &lt;span&gt;/&lt;/span&gt; &lt;?php foreach ($block-&gt;getStores() as $_lang): ?&gt; &lt;?php if ($_lang-&gt;getId() != $block-&gt;getCurrentStoreId()): ?&gt; &lt;span class="view-&lt;?php echo $block-&gt;escapeHtml($_lang-&gt;getCode()); ?&gt; switcher-option"&gt; &lt;a href="#" data-post='&lt;?php /* @escapeNotVerified */ echo $block-&gt;getTargetStorePostData($_lang); ?&gt;'&gt; &lt;?php echo …

1
วิธีการแบ่งปันสิ่งที่น่าพิศวง JS สิ่งที่น่าสังเกตระหว่างองค์ประกอบ UI
ฉันเข้าใจวิธีใช้imports: {}และexports: {}แบ่งปันคุณสมบัติของส่วนประกอบ UI เช่น: defaults: { exports: { shouldShowMessage: '${$.component}' } } ซึ่งส่งคืนชื่อคอมโพเนนต์ในการเอ็กซ์พอร์ต แต่เมื่อฉันพยายามส่งออกสิ่งที่น่าพิศวงที่สังเกตได้มันไม่ได้กำหนดไว้เสมอ: defaults: { exports: { shouldShowMessage: '${$.shouldShowMessage}' } } ... setupKoBindings: function() { this.shouldShowMessage = ko.observable('Testing'); } เพื่อเป็นการหลีกเลี่ยงปัญหาฉันจะสร้างโมเดลหน่วยความจำตามที่อธิบายไว้ที่นี่แต่ฉันต้องการใช้การนำเข้าและส่งออก


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.