У мене є нова робота, де я суто працюю над Magento щодня. Я не маю попереднього досвіду роботи з Magento, тому сказати, що це було найменше, це був виклик!
Дозвольте коротко пояснити розширення, яке ми будуємо.
Це дозволить нам показати вікно Popup / Modal. Зміст HTML модального буде зберігатися в
аStatic Block
СТОРІНКА АДМІНУ
Отже панель адміністратора складається з нової вкладки в розділі System/Confuration/NEW TAB
Панель адміністратора дозволяє вибрати у випадаючому списку на цій НОВІЙ СТОРІНЦІ ТАБА за замовчуванням Static Blockдля цих розділів ...
HOME PAGEабо HOME PAGE w/Items in Shopping Cart
ALL CATEGORY PAGESабо ALL CATEGORY PAGES w/Items in Shopping Cart
ALL PRODUCTS PAGESабо ALL PRODUCTS PAGES w/Items in Shopping Cart
ALL CMS PAGESабо ALL CMS PAGES w/Items in Shopping Cart
SHOPPING CART PAGEабо SHOPPING CART PAGE w/Items in Shopping Cart
ЗАБЕЗПЕЧЕННІ НАЙКРАЩІ
Далі фактичні сторінки CMS , КАТЕГОРІЇ та ПРОДУКТУ дозволяють ті самі налаштування, що й сторінки Панелі адміністратора, за винятком того, що вони дозволяють встановлювати значення STATIC BLOCKза кожним елементом та переоцінювати налаштування за замовчуванням, які були у налаштуваннях адміністратора вище .
Поки що у нас є адміністративна сторона розширення. У нас є всі вкладки адміністратора для кожного розділу ... продукт, категорія, CMS та сторінка конфігурації.
Наступним кроком буде додавання до того ж розширення та Static Blockвставка на сторінку. Це Static Blockнесе відповідальність за ... Показ правильного Static Blockна кожній сторінці на основі налаштувань, встановлених у вищезгаданих областях .....
- Визначення сторінки, на якій ми перебуваємо, та типу сторінки (cms, product, home, category)
- Після цього доведеться прочитати всі власні налаштування, встановлені у вищезгаданих областях.
- Якщо буде визначено, що ми знаходимося на
Categoryсторінці, нам доведеться отримати фактичну категорію speciv, на якій ми перебуваємо. НаприкладCategory 3. Потім ми побачимо, чи є конкретна установка для цієї конкретної категорії. Якщо він говорить,Enabledми будемо шукати, щоStatic Blockзбережено для цієї категорії, і покажемо це в нашому головномуStatic Blockна сторінці! - Якщо вищевказана конкретна категорія встановлена як
Disabledнаша,Modal Windowми розглянемо вище в більш глобальних настройках для Modal і побачимо, чи ввімкнено режим Modal для всіх категорій. Якщо так, то ми побачимо, щоStatic Blockвстановлено для показу для всіх категорій. - На додаток до всього цього, він виконає цей процес для кожного з основних типів сторінки (товар, категорії, CMS, домашня сторінка, кошик)
- Також нам доведеться перевірити, чи кошик порожній чи ні. ЯКЩО не порожній ... тоді нам доведеться це врахувати вище, коли wqe перевіряє, що
Static Blockпоказати для цієї сторінки, оскільки кожне налаштування дозволяє встановити aStatic Blockдля порожнього кошика та 1 для не порожнього кошика! (Я знаю, що це велике важке і велике починання, але в основному у нас сторона адміністратора. Просто потрібно виконати ту частину, яка враховує всіх тих, хто визначає,Static Blockна якій конкретній сторінці показувати.
Отже, щоб перемогти мене в правильному напрямку, у мене є кілька менших питань ...
- Як я можу всередині свого
Static Blockкоду (частина PHP) визначити, на якому ТИПІ СТОРІНКИ я перебуваю. Як я вже згадував , що я повинен знати , якщо я на .... HOME PAGE , CMS PAGE , КАТЕГОРІЯ PAGE , сторінка продукту або КОШИК PAGE ? - Окрім СТРІБНОГО ТИПУ, мені потрібно отримати фактичну сторінку. Отже, якщо я перебуваю на ідентифікаторі продукту 1234, тоді мені потрібно мати можливість встановити налаштування (статичний блок, встановлений для цієї сторінки) для цієї конкретної сторінки.
Я знаю, що це довгий і, можливо, заплутаний пост. Якщо ви зробили це далеко, дякую, що знайшли свій час, щоб прочитати це =)
Якщо ви можете допомогти з моїм питанням, кожен маленький шматок наблизить мене до кінцевої мети
Нижче наведена схема діаграми, яку я склав, як мій модуль повинен працювати, щоб визначити, який статичний блок вставити на сторінку

Mage_Widget? Мені потрібно також розглянути це
Mage_Widgetмодулі, правда?