מדריך הוספת תכונה מותאמת אישית לעמוד מוצר במג'נטו 1

כאשר נדרשת הוספת תכונה מותאמת אישית לעמוד מוצר במג'נטו או לכל חלק אחר באתר יש צורך ב2 פעולות משלימות בקוד ובפאנל הניהול. בפאנל הניהול ניצור תכונה (attribute) אותו נכנה כמשתנה עם שם וערך אך כדי להציג אותו באתר נידרש גם להטמיע קוד מתאים ברמת תבנית העיצוב מאחר והתבנית לא אמורה להכיל תכונה זו מלכתחילה.

 

כדי להטמיע קוד מכל סוג שהוא במערכת מג'נטו מומלץ להכיר את הלוגיקה של הקוד בצורה טובה אחרת דברים עלולים להסתבך, לרוב העריכה תתבצע על התצוגה (View) הראשי אך הכל בהתאם למבנה האתר שלכם, כדי להגיע לקובץ הראשי של דף מוצר עליכם להיכנס לקבצים של האתר לפי הסדר הבא:

 

 app > design > frontend >packagename > themename > template > catalog > product > view.phtml

 

אם מצאתם את המקום בו תרצו לשלב את הערך הרצוי, תצטרכו תחילה למשוך אותו  (הנחת היסוד היא שהמוצר נטען כאובייקט לתוך $_product):
בדוגמה הבאה משכנו attribute שהקוד שלו הוא 'product_sizing_tab' לתוך משתנה. ומאחר ומדובר על אזור טקסט (textarea), הפעלנו עליו גם את הפונקציה nl2br (ניתן לוותר עליה במקרים אחרים).
מתוך הנחה שה-attrubute קיים ועשינו הכל כמו שצריך – המשתנה $sizingTab אמור להכיל עכשיו את הערך שהוזן במערכת עבור המוצר הספציפי הזה.
$sizingTab = $_helper->productAttribute($_product, nl2br($_product->getProduct_sizing_tab()), 'product_sizing_tab');
עכשיו אפשר פשוט לשלב אותו ב-html של התבנית, לדוגמה:
<div class="sizingTab">
    <?php echo $sizingTab; ?>
</div>
* אם אין צורך לשמור את הערך במשתנה, אפשר כמובן גם להדפיס אותו ישירות:
<?php echo $_helper->productAttribute($_product, nl2br($_product->getProduct_sizing_tab()), 'product_sizing_tab'); ?>
אפשרות נוספת:
אפשר להשתמש ביכולת זו כדי ליצור בפשטות עבור מנהל האתר כלים לשליטה בחלקים שונים בתבנית, כמו מה יוצג ומה לא וכו'…
לדוגמה, נניח שיש בתבנית כפתור שבלחיצה עליו נפתח פופ-אפ (חלון חדש) עם תמונה מוגדלת של המוצר ומנהל האתר מעוניין להחליט באילו מוצרים החלון יופיע ובאילו מוצרים לא יופיע, כל מה שנדרש מהמתכנת ליצור attribute מסוג דרופדאון (נגלל) עם שם שיזוהה בקלות על ידי מנהל האתר שיתפקד כשאלת yes/no כבחירה האם להציג או לא.
ולאחר מכן בקוד התבנית למשוך את הערך ולהשתמש בו להתניות שונות בקוד:
לדוגמה:
$displayPopupButton = $_helper->productAttribute($_product, $_product->getDisplay_popup_button(), 'display_popup_button');
עכשיו המשתנה $displayPopupButton מכיל את החלטת המנהל בנושא, ואפשר להשתמש בה לדוגמה כך:
<?php if($displayPopupButton): ?>
    <button>Open Pop-Up</button>
<?php endif; ?>

 

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *