Code (6 article)

Wróć do strony

Aby utworzyc kategorie, zakladajac, ze znamy $parentCategoryId = ?:

    $parentCategoryId = 1;
    $category = Mage::getModel("catalog/category");
    $category->setName("Nazwa nowej kategorii");
    $category->setUrlKey("url-key-dla-nowej-kategorii");
    $category->setIsActive(1);
    $category->setDisplayMode("PRODUCTS");
    $category->setIsAnchor(1);
    $category->setStoreId(Mage::app()->getStore()->getId());
    $parentCategory = Mage::getModel("catalog/category")->load($parentCategoryId);
    $category->setPath($parentCategory->getPath());
    $category->save()

Eventy (zdarzenia) dynamiczne:

$this->_eventPrefix."_clear" // Mage_Core_Model_Abstract
$this->_eventPrefix."_delete_after" // Mage_Core_Model_Abstract
$this->_eventPrefix."_delete_before" // Mage_Core_Model_Abstract
$this->_eventPrefix."_delete_commit_after" // Mage_Core_Model_Abstract
$this->_eventPrefix."_load_after" // Mage_Core_Model_Abstract
$this->_eventPrefix."_load_before" // Mage_Core_Model_Abstract
$this->_eventPrefix."_save_after" // Mage_Core_Model_Abstract
$this->_eventPrefix."_save_before" // Mage_Core_Model_Abstract
$this->_eventPrefix."_save_commit_after" // Mage_Core_Model_Abstract
$this->_eventPrefix."_load_after" // Mage_Core_Model_Resource_Db_Collection_Abstract
$this->_eventPrefix."_load_before" // Mage_Core_Model_Resource_Db_Collection_Abstract
$this->_eventPrefix ."_init_virtual_grid_columns" // Mage_Sales_Model_Resource_Order_Abstract
$this->_eventPrefix ."_save_attribute_after" // Mage_Sales_Model_Resource_Order_Abstract
$this->_eventPrefix ."_save_attribute_before" // Mage_Sales_Model_Resource_Order_Abstract
$this->_eventPrefix ."_update_grid_records" // Mage_Sales_Model_Resource_Order_Abstract
$this->_eventPrefix ."_set_sales_order" // Mage_Sales_Model_Resource_Order_Collection_Abstract
"admin_system_config_changed_section_{$section}" // Mage_Adminhtml_System_ConfigController
"after_reindex_process_". $this->getIndexerCode() // Mage_Index_Model_Process
"controller_action_layout_render_before_".$this->getFullActionName() // Mage_Core_Controller_Varien_Action
"controller_action_predispatch_". $this->getRequest()->getRouteName() // Mage_Core_Controller_Varien_Action
"controller_action_predispatch_". $this->getFullActionName() // Mage_Core_Controller_Varien_Action
"controller_action_postdispatch_".$this->getFullActionName() // Mage_Core_Controller_Varien_Action
"controller_action_postdispatch_".$this->getRequest()->getRouteName() // Mage_Core_Controller_Varien_Action
"core_copy_fieldset_".$fieldset."_".$aspect // Mage_Core_Helper_Data
"end_index_events". $this->_getEventTypeName($entity, $type) // Mage_Index_Model_Indexer
"end_process_event". $this->_getEventTypeName($entityType, $eventType) // Mage_Index_Model_Indexer
"start_index_events". $this->_getEventTypeName($entity, $type) // Mage_Index_Model_Indexer
"start_process_event". $this->_getEventTypeName($entityType, $eventType) // Mage_Index_Model_Indexer

Eventy (zdarzenia) statyczne:

ADMIN

add_synchronize_message

admin_permissions_role_prepare_save

admin_session_user_login_failed

admin_session_user_login_success

admin_system_config_changed_section_currency

admin_system_config_changed_section_currency_before_reinit

admin_system_config_section_save_after

admin_user_authenticate_after

admin_user_authenticate_before

admin_user_validate

ADMINHTML

adminhtml_block_eav_attribute_edit_form_init

adminhtml_block_html_before

adminhtml_block_promo_widget_chooser_prepare_collection

adminhtml_block_salesrule_actions_prepareform

adminhtml_block_system_config_init_tab_sections_before

adminhtml_cache_flush_all

adminhtml_cache_flush_system

adminhtml_cache_refresh_type

adminhtml_catalog_category_edit_prepare_form

adminhtml_catalog_category_tabs

adminhtml_catalog_category_tree_can_add_root_category

adminhtml_catalog_category_tree_can_add_sub_category

adminhtml_catalog_category_tree_is_moveable

adminhtml_catalog_product_attribute_edit_prepare_form

adminhtml_catalog_product_attribute_set_main_html_before

adminhtml_catalog_product_attribute_set_toolbar_main_html_before

adminhtml_catalog_product_edit_element_types

adminhtml_catalog_product_edit_prepare_form

adminhtml_catalog_product_edit_tab_attributes_create_html_before

adminhtml_catalog_product_form_prepare_excluded_field_list

adminhtml_catalog_product_grid_prepare_massaction

adminhtml_cms_page_edit_tab_content_prepare_form

adminhtml_cms_page_edit_tab_design_prepare_form

adminhtml_cms_page_edit_tab_main_prepare_form

adminhtml_cms_page_edit_tab_meta_prepare_form

adminhtml_cms_page_grid_renderer_action_before_render

adminhtml_cmspage_on_delete

adminhtml_controller_action_predispatch_start

adminhtml_controller_catalogrule_prepare_save

adminhtml_controller_salesrule_prepare_save

adminhtml_customer_orders_add_action_renderer

adminhtml_customer_prepare_save

adminhtml_customer_save_after

adminhtml_init_system_config

adminhtml_product_attribute_types

adminhtml_promo_catalog_edit_tab_main_prepare_form

adminhtml_promo_quote_edit_tab_coupons_form_prepare_form

adminhtml_promo_quote_edit_tab_main_prepare_form

adminhtml_sales_order_create_process_data

adminhtml_sales_order_create_process_data_before

adminhtml_sales_order_creditmemo_register_before

adminhtml_store_edit_form_prepare_form

adminhtml_system_config_advanced_disableoutput_render_before

adminhtml_widget_container_html_before

adminhtml_widget_grid_filter_collection

CATALOG

catalog_block_product_list_collection

catalog_block_product_status_display

catalog_category_change_products

catalog_category_collection_add_is_active_filter

catalog_category_collection_load_after

catalog_category_collection_load_before

catalog_category_flat_loadnodes_before

catalog_category_move_after

catalog_category_move_before

catalog_category_prepare_save

catalog_category_tree_init_inactive_category_ids

catalog_category_tree_move_after

catalog_category_tree_move_before

catalog_controller_category_delete

catalog_controller_category_init_after

catalog_controller_category_init_before

catalog_controller_product_delete

catalog_controller_product_init

catalog_controller_product_init_after

catalog_controller_product_init_before

catalog_controller_product_mass_status

catalog_controller_product_view

catalog_helper_output_construct

catalog_model_product_duplicate

catalog_prepare_price_select

catalog_product_attribute_backend_media_load_gallery_before

catalog_product_attribute_update_after

catalog_product_attribute_update_before

catalog_product_collection_apply_limitations_after

catalog_product_collection_apply_limitations_before

catalog_product_collection_before_add_count_to_categories

catalog_product_collection_load_after

catalog_product_collection_load_before

catalog_product_compare_add_product

catalog_product_compare_item_collection_clear

catalog_product_compare_remove_product

catalog_product_delete_after_done

catalog_product_edit_action

catalog_product_edit_form_render_recurring

catalog_product_flat_prepare_columns

catalog_product_flat_prepare_indexes

catalog_product_flat_rebuild

catalog_product_flat_update_product

catalog_product_gallery_prepare_layout

catalog_product_gallery_upload_image_after

catalog_product_get_final_price

catalog_product_import_after

catalog_product_import_finish_before

catalog_product_is_salable_after

catalog_product_is_salable_before

catalog_product_media_add_image

catalog_product_media_save_before

catalog_product_new_action

catalog_product_prepare_index_select

catalog_product_prepare_save

catalog_product_status_update

catalog_product_stock_item_mass_change

catalog_product_to_website_change

catalog_product_type_configurable_price

catalog_product_type_grouped_price

catalog_product_type_prepare_full_options

catalog_product_type_prepare_lite_options

catalog_product_upsell

catalog_product_view_config

catalog_product_validate_after

catalog_product_validate_before

catalog_product_website_update

catalog_product_website_update_before

CATALOGINDEX

catalogindex_get_minimal_price

catalogindex_plain_reindex_after

catalogindex_prepare_price_select

catalogsearch_index_process_complete

catalogsearch_index_process_start

catalogsearch_reset_search_result

catalogsearch_searchable_attributes_load_after

CATEGORY

category_move

category_prepare_ajax_response

CHECKOUT

checkout_allow_guest

checkout_block_cart_sidebar_aftertohtml

checkout_cart_add_product_complete

checkout_cart_product_add_after

checkout_cart_product_update_after

checkout_cart_save_after

checkout_cart_save_before

checkout_cart_update_item_complete

checkout_cart_update_items_after

checkout_cart_update_items_before

checkout_controller_multishipping_shipping_post

checkout_controller_onepage_save_shipping_method

checkout_multishipping_controller_success_action

checkout_multishipping_refund_all

checkout_onepage_controller_success_action

checkout_quote_destroy

checkout_quote_init

checkout_submit_all_after

checkout_type_multishipping_create_orders_single

checkout_type_multishipping_set_shipping_items

checkout_type_onepage_save_order

checkout_type_onepage_save_order_after

CLEAN

clean_catalog_images_cache_after

clean_configurable_swatches_cache_after

clean_media_cache_after

CMS

cms_controller_router_match_before

cms_generate_breadcrumbs

cms_page_get_available_statuses

cms_page_prepare_save

cms_page_render

cms_wysiwyg_config_prepare

cms_wysiwyg_images_static_urls_allowed

CONTROLLER

controller_action_layout_generate_blocks_after

controller_action_layout_generate_blocks_before

controller_action_layout_generate_xml_before

controller_action_layout_load_before

controller_action_layout_render_before

controller_action_nocookies

controller_action_noroute

controller_action_postdispatch

controller_action_postdispatch_adminhtml

controller_action_predispatch

controller_front_init_before

controller_front_init_routers

controller_front_send_response_after

controller_front_send_response_before

controller_response_redirect

CORE

core_block_abstract_prepare_layout_after

core_block_abstract_prepare_layout_before

core_block_abstract_to_html_after

core_block_abstract_to_html_before

core_clean_cache

core_collection_abstract_load_after

core_collection_abstract_load_before

core_layout_block_create_after

core_layout_update_updates_get_after

core_locale_set_locale

core_session_abstract_add_message

core_session_abstract_clear_messages

CUSTOMER

customer_address_format

customer_address_validation_after

customer_

customer_authenticated

customer_login

customer_logout

customer_register_success

customer_registration_is_allowed

customer_session_init

LOG

log_log_clean_after

log_log_clean_before

log_visitor_collection_load_before

MODEL

model_config_data_save_before

model_delete_after

model_delete_before

model_delete_commit_after

model_load_after

model_load_before

model_save_after

model_save_before

model_save_commit_after

PAGE BLOCK

page_block_html_topmenu_gethtml_after

page_block_html_topmenu_gethtml_before

PAYMENT

payment_form_block_to_html_before

payment_info_block_prepare_specific_information

payment_method_is_active

PAYPAL

paypal_payment_transaction_load_by_txn_id_after

paypal_payment_transaction_load_by_txn_id_before

paypal_prepare_line_items

PERMISSIONS

permissions_block_html_before

permissions_user_html_before

permissions_variable_html_before

PERSISTENT

persistent_session_expired

persistent_session_expired

PREPARE

prepare_catalog_product_collection_prices

prepare_catalog_product_index_select

prepare_catalog_product_price_index_table

prepare_product_children_id_list_select

PRODUCT

product_duplicate_attributes

product_option_renderer_init

REVIEW

review_controller_product_init

review_controller_product_init_after

review_controller_product_init_before

review_

review_collection_load_before

RSS

rss_catalog_category_xml_callback

rss_catalog_new_xml_callback

rss_catalog_notify_stock_collection_select

rss_catalog_review_collection_select

rss_catalog_special_xml_callback

rss_catalog_tagged_item_xml_callback

rss_order_new_collection_select

rss_wishlist_xml_callback

SALES

sales_convert_order_item_to_quote_item

sales_convert_order_to_quote

sales_convert_quote_address_to_order

sales_convert_quote_address_to_order_address

sales_convert_quote_item_to_order_item

sales_convert_quote_payment_to_order_payment

sales_convert_quote_to_order

sales_html_txn_id

sales_model_service_quote_submit_after

sales_model_service_quote_submit_before

sales_model_service_quote_submit_failure

sales_model_service_quote_submit_success

sales_order_address_collection_load_after

sales_order_creditmemo_cancel

sales_order_creditmemo_refund

sales_order_invoice_cancel

sales_order_invoice_pay

sales_order_invoice_register

sales_order_item_cancel

sales_order_payment_cancel

sales_order_payment_cancel_creditmemo

sales_order_payment_cancel_invoice

sales_order_payment_capture

sales_order_payment_pay

sales_order_payment_place_end

sales_order_payment_place_start

sales_order_payment_refund

sales_order_payment_transaction_load_by_txn_id_after

sales_order_payment_transaction_load_by_txn_id_before

sales_order_payment_void

sales_order_place_after

sales_order_place_before

sales_order_status_unassign_before

sales_prepare_amount_expression

sales_quote_add_item

sales_quote_address_collect_totals_after

sales_quote_address_collect_totals_before

sales_quote_address_collection_load_after

sales_quote_address_discount_item

sales_quote_collect_totals_after

sales_quote_collect_totals_before

sales_quote_config_get_product_attributes

sales_quote_item_collection_products_after_load

sales_quote_item_qty_set_after

sales_quote_item_set_product

sales_quote_merge_after

sales_quote_merge_before

sales_quote_payment_import_data_before

sales_quote_product_add_after

sales_quote_remove_item

sales_sale_collection_query_before

salesrule_rule_condition_combine

salesrule_rule_get_coupon_types

salesrule_validator_process

SITEMAP

sitemap_categories_generating_before

sitemap_products_generating_before

STORE

store_add

store_edit

store_delete

store_group_save

TAX

tax_rate_data_fetch

tax_settings_change_after

WISHLIST

wishlist_add_item

wishlist_add_product

wishlist_item_add_after

wishlist_item_collection_products_after_load

wishlist_items_renewed

wishlist_product_add_after

wishlist_share

wishlist_update_item

POZOSTAŁE

ajax_cart_remove_item_success

api_user_authenticated

api_user_html_before

application_clean_cache

before_save_message_queue

bundle_product_view_config

clear_expired_quotes_before

create_order_session_quote_initialized

currency_display_options_forming

custom_quote_process

eav_collection_abstract_load_before

enterprise_giftcardaccount_add

gift_options_prepare_items

http_response_send_before

index_process_change_status

init_from_order_session_quote_initialized

load_customer_quote_before

mage_run_exception

on_view_report

order_cancel_after

pdf_item_draw_after

poll_vote_add

resource_get_tablename

rule_environment_collect

sendfriend_product

tag_tag_product_collection_load_after

visitor_init

Oryginalna funkcja w pliku app/Mage.php w linii 785 wygląda następująco:

public static function log($message, $level = null, $file = " ", $forceLog = false);

Da się zauważć, że 2 parametrem jest zmienna $level:

$level  = is_null($level) ? Zend_Log::DEBUG : $level;

W pliku lib/Zend/log.php możemy zaobserwować:

const EMERG   = 0;  // Emergency: system is unusable
const ALERT   = 1;  // Alert: action must be taken immediately
const CRIT    = 2;  // Critical: critical conditions
const ERR     = 3;  // Error: error conditions
const WARN    = 4;  // Warning: warning conditions
const NOTICE  = 5;  // Notice: normal but significant condition
const INFO    = 6;  // Informational: informational messages
const DEBUG   = 7;  // Debug: debug messages

Zatem, jeśli wykonasz kod Mage::log("test", 1); output będzie następujący:

2019-05-26T12:21:51+00:00 ALERT (1): test

REASUMUJĄC - aby zalogować wiadomość do własnego pliku:

Mage::log("message", 3, "FILENAME.log", true);

lub:

Mage::log("message", Zend_Log::ERR, "FILENAME.log", true);

można również zalogować tablicę:

Mage::log(print_r($myArray,true), null, "FILENAME.log", true);

przy czym parametr true zamienia array na string.

Magento posiada 9 indexów jak następuje:

  1. Product Attributes
  2. Product Prices
  3. Catalog URL Rewrites
  4. Product Flat Data
  5. Category Flat Data
  6. Category Products
  7. Catalog Search index
  8. Tag Aggregation Data
  9. Stock Status

Przykład reineksacji dla pojedynczego indeksu:

$process = Mage::getModel("index/process")->load(6);
$process->reindexAll();

Przykład pełnej reineksacji:

for ($i = 1; $i <= 9; $i++) {
    $process = Mage::getModel("index/process")->load($i);
    $process->reindexAll();
}