Magento core: Unterschied zwischen den Versionen
F (Diskussion | Beiträge) (→Model) |
F (Diskussion | Beiträge) (→catalog.xml) |
||
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[Magento_core_Overview|Magento Core Übersicht ]] | [[Magento_core_Overview|Magento Core Übersicht ]] | ||
+ | |||
+ | |||
+ | * http://www.webguys.de/magento/adventskalender/turchen-10-die-magento-xml-dateien/ - Die Magento-Konfigurations-XML-Dateien (nicht die layout) | ||
+ | |||
= CORE MAGE Extension: Catalog = | = CORE MAGE Extension: Catalog = | ||
app/code/core/Mage/'''Catalog''' | app/code/core/Mage/'''Catalog''' | ||
Zeile 133: | Zeile 137: | ||
==== Template ==== | ==== Template ==== | ||
− | ===== | + | ===== backend ===== |
app/design/adminhtml/default/default/template/'''catalog'''/''product''/ | app/design/adminhtml/default/default/template/'''catalog'''/''product''/ | ||
* Template greift auf Funktionen von Gallery/Content.php zu | * Template greift auf Funktionen von Gallery/Content.php zu | ||
** <u title="app/design/adminhtml/default/default/template/catalog/product/helper/gallery.phtml">adminhtml/default/default/template/'''catalog'''/''product''/helper/gallery.phtml</u> | ** <u title="app/design/adminhtml/default/default/template/catalog/product/helper/gallery.phtml">adminhtml/default/default/template/'''catalog'''/''product''/helper/gallery.phtml</u> | ||
+ | |||
+ | ===== frontend ===== | ||
+ | app/design/frontend/base/default/template/'''catalog'''/''product''/ | ||
+ | * Template zeigt im Frontend unter Produktansicht die Mediagalerie | ||
+ | ** app/design/frontend/base/default/template/catalog/product/view/media.phtml | ||
+ | ** $this->helper('catalog/image')->init($_product, 'image') -- Cache wird hier aufgebaut fürs Fenster | ||
+ | <source lang="html4strict"> | ||
+ | <p class="product-image product-image-zoom"> | ||
+ | <?php | ||
+ | $_img = '<img id="image" src="'.$this->helper('catalog/image')->init($_product, 'image').'" alt="'.$this->escapeHtml($this->getImageLabel()).'" title="'.$this->escapeHtml($this->getImageLabel()).'" />'; | ||
+ | echo $_helper->productAttribute($_product, $_img, 'image'); | ||
+ | ?> | ||
+ | </p> | ||
+ | </source> | ||
==== Model ==== | ==== Model ==== | ||
Zeile 148: | Zeile 166: | ||
** class Mage_'''Catalog'''_Model_''Product'' extends Mage_Catalog_Model_Abstract | ** class Mage_'''Catalog'''_Model_''Product'' extends Mage_Catalog_Model_Abstract | ||
− | <source lang=""> | + | <source lang="php"> |
+ | /** | ||
+ | * gibt die Thumbnail image galery für zB Frontend zurück (inkl. cache generierung) | ||
+ | */ | ||
public function getMediaGalleryImages() | public function getMediaGalleryImages() | ||
{ | { | ||
Zeile 182: | Zeile 203: | ||
---- | ---- | ||
− | == catalog.xml == | + | === catalog.xml === |
Magento18/app/design/adminhtml/default/default/layout/catalog.xml | Magento18/app/design/adminhtml/default/default/layout/catalog.xml | ||
Zeile 238: | Zeile 259: | ||
** ? PRODUCT_TYPE_configurable | ** ? PRODUCT_TYPE_configurable | ||
** ? PRODUCT_TYPE_grouped | ** ? PRODUCT_TYPE_grouped | ||
+ | |||
+ | == Erkenntnisse == | ||
+ | |||
+ | === Warenkorb Produkt bearbeiten - mag_sales_flat_quote_item.idem_id die hochgezählt werden === | ||
+ | überall dort wird die ID hochgezählt (bis weiß ich nur beim SimpleProduct) wo Optionen existieren unb bearbeitet werden, damit magento sich den abgleich mit bestehenden Einträgen (in mag_sales_flat_quote_item_option) spart und einfach alle alte gelöscht werden und nur die neuen hinzufügt | ||
+ | * SimpleProduct: Individualiesierungs Optionen | ||
+ | * BundleProduct: Unterprodukte an und ab wählen | ||
+ | |||
+ | === zB erweitern von SimpleProducts mit Individualisierungs Optionen === | ||
+ | zB Individualisierungs Optionen lassen sich nicht per hand nach programmiert so einfach bei bestehenden Bündel(unter)produkten einpflegen, da in der mag_sales_flat_quote_item_option die info mit der info_buyRequest als Überprüfung doppelt gesetzt wird |
Aktuelle Version vom 17. Dezember 2013, 09:13 Uhr
- http://www.webguys.de/magento/adventskalender/turchen-10-die-magento-xml-dateien/ - Die Magento-Konfigurations-XML-Dateien (nicht die layout)
Inhaltsverzeichnis
CORE MAGE Extension: Catalog
app/code/core/Mage/Catalog app/code/core/Mage/Adminhtml/Block/Catalog
Catalog/Product
Bilder Gallery
sn Suchwort: @Galerie magento Suchwort: media gallery
die Image Gallery ist ein ist eine Unter Unter Extension von Catalog
Catalog > Product > Gallery
Bilder Gallery für svg erweitern
Bildergallerie mit der Dateiendung *.svg erweitern
replace array('jpg','jpeg','gif','png') => array('jpg','jpeg','gif','png', 'svg') Images (.gif, .jpg, .png) => Images (.gif, .jpg, .png, .svg) array('*.gif', '*.jpg','*.jpeg', '*.png') => array('*.gif', '*.jpg','*.jpeg', '*.png', '*.svg')
- Mage_Adminhtml_Catalog_Product_GalleryController::uploadAction()
- app/code/core/Mage/Adminhtml/controllers/Catalog/Product/GalleryController.php
$uploader->setAllowedExtensions(array('jpg','jpeg','gif','png', 'svg'));
- Mage_Adminhtml_Block_Catalog_Product_Helper_Form_Gallery_Content::_prepareLayout()
- app/code/core/Mage/Adminhtml/Block/Catalog/Product/Helper/Form/Gallery/Content.php
$this->getUploader()->getConfig()
->setUrl(Mage::getModel('adminhtml/url')->addSessionParam()->getUrl('*/catalog_product_gallery/upload'))
->setFileField('image')
->setFilters(array(
'images' => array(
'label' => Mage::helper('adminhtml')->__('Images (.gif, .jpg, .png, .svg)'),
'files' => array('*.gif', '*.jpg','*.jpeg', '*.png', '*.svg')
)
));
- Mage_Adminhtml_Block_Media_Uploader::__construct()
- app/code/core/Mage/Adminhtml/Block/Media/Uploader.php
$this->getConfig()->setFilters(array(
'images' => array(
'label' => Mage::helper('adminhtml')->__('Images (.gif, .jpg, .png, .svg)'),
'files' => array('*.gif', '*.jpg', '*.png')
),
'media' => array(
'label' => Mage::helper('adminhtml')->__('Media (.avi, .flv, .swf)'),
'files' => array('*.avi', '*.flv', '*.swf')
),
'all' => array(
'label' => Mage::helper('adminhtml')->__('All Files'),
'files' => array('*.*')
)
));
- Mage_XmlConnect_Block_Adminhtml_Mobile_Edit_Tab_Design_Images::_prepareImagesData($image)
- app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Tab/Design/Images.php
$this->getConfig()->setFilters(array(
'images' => array(
'label' => Mage::helper('adminhtml')->__('Images (.gif, .jpg, .png, .svg)'),
'files' => array('*.gif', '*.jpg','*.jpeg', '*.png', '*.svg')
)));
- Sprachanpassungen
- app/locale/de_DE/Mage_Adminhtml.csv
- app/locale/en_US/Mage_Adminhtml.csv
Validator
- Mage_Adminhtml_Catalog_Product_GalleryController::uploadAction()
- /home/dev/Magento/Magento18/app/code/core/Mage/Adminhtml/controllers/Catalog/Product/GalleryController.php
Zeilen auskommentieren
// $uploader->addValidateCallback('catalog_product_image',
// Mage::helper('catalog/image'), 'validateUploadFile');
oder die Mage_Catalog_Helper_Image::validateUploadFile($filePath) modifizieren
MODE CONFIG
- Catalog/etc/config.xml
- keine Bilder in der Bilder Reiter Tabelle beim Produkt
- product_attribute_media_gallery
- product_attribute_media_gallery_value
- keine Bilder in der Bilder Reiter Tabelle beim Produkt
BLOCK
Backend (Adminhtml)
app/code/core/Mage/Adminhtml/Block/Catalog/Product/
- Helper
- Adminhtml/Block/Catalog/Product/Helper/Form/Gallery.php
- Objektfunktionen die die Anzeige (Tabelle, upload, ...) aufrufen
- class Mage_Adminhtml_Block_Catalog_Product_Helper_Form_Gallery extends Varien_Data_Form_Element_Abstract
- Adminhtml/Block/Catalog/Product/Helper/Form/Gallery/Content.php
- Klassen-Funktionen die Anzeige Elemente fürs Template zurück geben
- class Mage_Adminhtml_Block_Catalog_Product_Helper_Form_Gallery_Content extends Mage_Adminhtml_Block_Widget
- Adminhtml/Block/Catalog/Product/Helper/Form/Image.php
- Adminhtml/Block/Catalog/Product/Helper/Form/Gallery.php
- Edit
- Adminhtml/Block/Catalog/Product/Edit/Tab/Attributes.php
- class Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Attributes extends Mage_Adminhtml_Block_Catalog_Form
- Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Attributes->_prepareForm() -- generiert alle Punkte die unter #catalog.xml (z.B. Katalog > Produkte verwalten > Produkt > Bilder) nicht aufgeführt sind
- Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Attributes->_getAdditionalElementTypes() -- Ortsangabe zum Gallery Helper (muss hier zur Verfügung stehen, sonst Fehler bei Produktanzeige)
- Adminhtml/Block/Catalog/Product/Edit/Action/Attribute/Tab/Attributes.php *
- ähnlich wie oben nur weiß ich nicht was es betrifft
- Attribute
- Adminhtml/Block/Catalog/Product/Attribute/New/Product/Attributes.php
Frontend
app/code/core/Mage/Catalog/Block/Product/
- Catalog/Block/Product/Gallery.php
- class Mage_Catalog_Block_Product_Gallery extends Mage_Core_Block_Template
Template
backend
app/design/adminhtml/default/default/template/catalog/product/
- Template greift auf Funktionen von Gallery/Content.php zu
- adminhtml/default/default/template/catalog/product/helper/gallery.phtml
frontend
app/design/frontend/base/default/template/catalog/product/
- Template zeigt im Frontend unter Produktansicht die Mediagalerie
- app/design/frontend/base/default/template/catalog/product/view/media.phtml
- $this->helper('catalog/image')->init($_product, 'image') -- Cache wird hier aufgebaut fürs Fenster
<p class="product-image product-image-zoom">
<?php
$_img = '<img id="image" src="'.$this->helper('catalog/image')->init($_product, 'image').'" alt="'.$this->escapeHtml($this->getImageLabel()).'" title="'.$this->escapeHtml($this->getImageLabel()).'" />';
echo $_helper->productAttribute($_product, $_img, 'image');
?>
</p>
Model
app/code/core/Mage/Catalog/Model
- app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Backend/Media.php
- class Mage_Catalog_Model_Resource_Product_Attribute_Backend_Media extends Mage_Core_Model_Resource_Db_Abstract
- app/code/core/Mage/Catalog/Model/Product.php
- class Mage_Catalog_Model_Product extends Mage_Catalog_Model_Abstract
/**
* gibt die Thumbnail image galery für zB Frontend zurück (inkl. cache generierung)
*/
public function getMediaGalleryImages()
{
// ....
// erstellt den Thumbmail Cache
$images->addItem(new Varien_Object($image));
// ....
}
Controller
app/code/core/Mage/Adminhtml/controllers/Catalog/
- Adminhtml/controllers/Catalog/Product/GalleryController.php
Bibliotheken
lib/Varien/File/Uploader.php
evt unrelevant
- Magento18/app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Tab/Design/Images.php
- class Mage_XmlConnect_Block_Adminhtml_Mobile_Edit_Tab_Design_Images extends Mage_Adminhtml_Block_Template
- Magento18/app/code/core/Mage/Adminhtml/Block/Media/Uploader.php
- class Mage_Adminhtml_Block_Media_Uploader extends Mage_Adminhtml_Block_Widget
- Magento18/app/code/core/Mage/Adminhtml/Block/Cms/Wysiwyg/Images/Content/Uploader.php
- class Mage_Adminhtml_Block_Cms_Wysiwyg_Images_Content_Uploader extends Mage_Adminhtml_Block_Media_Uploader
catalog.xml
Magento18/app/design/adminhtml/default/default/layout/catalog.xml
catalog.xml bezieht sich auf admin panel > Katalog
- Artikel verwalten
- Kategorien verwalten
alle anderen (Attribute, Url Rewrite Verwaltung, Suchbegriffe ... ) nicht
- admin panel > Katalog > Produkt
- Allgemein:
- Preise:
- Metadaten:
- Bilder:
- Wiederkehrendes Profil:
- Design:
- Geschenkoptionen:
- Lagerverwaltung:
- Kategorien: adminhtml_catalog_product_categories
- Zubehör adminhtml_catalog_product_related
- Up-Selling adminhtml_catalog_product_upsell
- Up-Selling > Suche adminhtml_catalog_product_upsellgrid
- Cross-Selling adminhtml_catalog_product_crosssell
- Cross-Selling > Suche adminhtml_catalog_product_crosssellgrid
- Kundenmeinungen: adminhtml_catalog_product_reviews
- Schlagworte: adminhtml_catalog_product_taggrid
- Kunden, die Schlagworte adminhtml_catalog_product_tagcustomergrid
- Individualisierungsoptionen adminhtml_catalog_product_options
- überall bzw ab und zu
- ## > Neues Attribut adminhtml_catalog_product_attribute_edit
- Konfigurierbare Produkte
- Fehlermeldung: Konfigurierbaren Artikel erstellen und keine Attributte haben adminhtml_catalog_product_configurable_new
- Katalog >
- Kategorien verwalten: adminhtml_catalog_category_edit
- unklar
- ? adminhtml_catalog_product_grid (Tabellen)
- ? adminhtml_catalog_product_relatedgrid
- ? adminhtml_catalog_product_superconfig
- ? adminhtml_catalog_product_alertspricegrid
- ? adminhtml_catalog_product_alertsstockgrid
- ? adminhtml_catalog_product_simple
- ? adminhtml_catalog_product_simple
- ? adminhtml_catalog_product_grouped
- ? adminhtml_catalog_product_supergroup
- ? adminhtml_catalog_product_supergroupgridonly
- ? adminhtml_catalog_product_configurable
- ? adminhtml_catalog_product_action_attribute_edit
- ? ADMINHTML_CATALOG_PRODUCT_COMPOSITE_CONFIGURE
- ? ADMINHTML_CATALOG_PRODUCT_COMPOSITE_CONFIGURE_ERROR
- ? ADMINHTML_CATALOG_PRODUCT_COMPOSITE_UPDATE_RESULT
- ? PRODUCT_TYPE_configurable
- ? PRODUCT_TYPE_grouped
Erkenntnisse
Warenkorb Produkt bearbeiten - mag_sales_flat_quote_item.idem_id die hochgezählt werden
überall dort wird die ID hochgezählt (bis weiß ich nur beim SimpleProduct) wo Optionen existieren unb bearbeitet werden, damit magento sich den abgleich mit bestehenden Einträgen (in mag_sales_flat_quote_item_option) spart und einfach alle alte gelöscht werden und nur die neuen hinzufügt
- SimpleProduct: Individualiesierungs Optionen
- BundleProduct: Unterprodukte an und ab wählen
zB erweitern von SimpleProducts mit Individualisierungs Optionen
zB Individualisierungs Optionen lassen sich nicht per hand nach programmiert so einfach bei bestehenden Bündel(unter)produkten einpflegen, da in der mag_sales_flat_quote_item_option die info mit der info_buyRequest als Überprüfung doppelt gesetzt wird