検索
ホームページバックエンド開発PHPチュートリアルMagento でよく使われる関数、Magento でよく使われる関数_PHP チュートリアル

magento 常用的函数,magento常用函数

1.Magento eav_attribute表中source如何指定自定义数据来源
  如果你引用的类名为yebihai_usermanage_model_entity_school你必须完整的给出地址,不能usermanage/entity_school,这样默认是在Mage下面去找的。
  如:

$setup->addAttribute('customer', 'school', array( 'type' => 'int', 'input' => 'select', 'label' => 'School', 'global' => 1, 'visible' => 1, 'required' => 0, 'user_defined' => 1, 'default' => '0', 'visible_on_front' => 1, 'source'=> 'yebihai_usermanage_model_entity_school', //数据来源,text留空即可 ));


2.Magento getPrice()的结果小数点位数的处理
echo Mage::helper('core')->currency($_product->getPrice()); 
输出格式:888.673 => 888.67

3.Magento config.xml中global节点中的block重写与blocks下面的命名标签必须小写,如:


                                                Yebihai_CategoryList_Block_Category_View                                                                              Yebihai_CategoryList_Block                            


4.Magento获取列表当前排序方式ASC or DESC?
获取当前排序:$this->getAvailableOrders()
获取当前分页:$this->getCurrentPage()
列表页的各种内容获取都在:Mage_Catalog_Block_Product_List_Toolbar这个类里面,有需要直接去这里面找。

5.Magento Collection添加排序?

$subCategories = Mage::getModel('catalog/category')->getCollection(); $subCategories->setOrder('position', 'ASC');


6.Magento Collection where里面的或条件如何实现?

$result = $selfread->select()->from( $table, array('id'))  ->where( 'reid = '.$reid,'topid ='.$reid);//reid=$reid 或 topid=$reid


7.Magento操作某条数据下面的多个字段,使用场景如下:
本 人在做订单备注的时候在监听类里面通过Magento系统的addStatusHistoryComment方法把订单内容能成功写入 sales_flat_order_status_history表,但是我的需求是还要修改is_visible_on_front此字段的值,让内容 在前台可见。头痛的问题来了,想了各种方法最后按下面的方式解决了。
监听类全部源码:

class Yebihai_CustomerOrderComments_Model_Observer   { public function setCustomerOrderComments(Varien_Event_Observer $observer) { $_order = $observer->getEvent()->getOrder(); $_request = Mage::app()->getRequest(); $_comments = strip_tags($_request->getParam('customerOrderComments')); if(!empty($_comments)){ $_order->setCustomerNote('
订单备注: ' .$_comments); $_order->addStatusHistoryComment('订单备注: ' .$_comments)->setIsVisibleOnFront(1); } return $this; } }

8.Magento个人中心左侧菜单控制
关于个人中心的主要功能都是在customer这个模块进行,需要修改相应的功能,直接去你的模板customer文件夹去修改。
左侧菜单模板路径:customer/account/navigation.phtml
9.Magento把html转换为转义字符,用什么方法?
core助手里面有一个escapeHtml方法,使用如下:
Mage::helper('core')->escapeHtml("yebihai 加油

go
");
メソッドの実際の場所: Mage_Core_Helper_Abstract クラス内。
ps: いくつかの一般的な操作メソッドはコア モジュールにカプセル化されています。必要に応じて、ソース コードを分析できます。

10. Magento は動的にブロックを作成しますアクションを参照しますか?

以下は、Ajax を介して checkoutcart を動的に呼び出す必要がある場合、どうすれば解決できますか? simplecheckout/cart_item_renderer                             ステップ 1: ajax を介してカスタム コントローラーを呼び出します。例:
jQuery.post('getUrl('gou​​wuche/cart/updateQuickShoppingCar') ?>', function(data){ jQuery('#shopping-cart-table thead').after(data); }); ステップ 2: コントローラー メソッドで次のようなブロックを動的に作成します。 パブリック関数 updateQuickShoppingCarAction(){ $block = $this->getLayout()->createBlock('checkoutrewrite/quickcart')->setTemplate('quickbuy/cart/cart.phtml'); echo $block->toHtml(); }
ステップ 3: 新しいブロック ファイル (クイックカート) を作成し、このファイルの構築メソッドで構成ファイル内のアクション コンテンツを次のように初期化します。 パブリック関数 __construct() { 親::__construct(); $this->addItemRender('simple', 'checkout/cart_item_renderer', 'quickbuy/cart/item/item_view.phtml'); }
追記: 2 番目のステップに進むと、cart.phtml テンプレートが読み込まれています。3 番目のステップは、カート ブロックの下にアクションを読み込むだけです。


11. MagentoのgetTableメソッドのパラメータで注意すべきことは何ですか?
例、データベース内の指定したテーブルと条件をクエリする方法は次のとおりです。 パブリック関数 getExcelKucunJiage($id,$status){ $selfread = $this->_getConnection('excelmanage_read'); $table = $this->getTable('excelmanage/excelkucunjiage'); $result = $selfread->select() ->from( $table ) ->where( 'excel_id=?', $id) ->where( 'is_active=?', $status); return $selfread->fetchRow($result); }
getTable メソッドのパラメータ設定は次のように注意する必要があります。excelmanage はモジュールの名前であり、excelkukunjiage は操作するエンティティ ノードの名前です。私のエンティティ構成は次のとおりです。 Yebihai_ExcelManage_Model_Resource_Mysql4

excelkucunjiage

「/」の後のパラメータは、テーブルの前にあるエンティティ名から派生します。


12. データテーブル内の指定されたID情報を更新するにはどうすればよいですか?

$excelModel = Mage::getModel('excelmanage/excelkucunjiage')->load(1); $excelModel->setExcelAdddate(Mage::getModel('core/date')->timestamp(time( ))); $excelModel->setIsActive(0);
$excelModel->save();
上記のコードは、ID 1 のデータ テーブル情報を変更するものです。
拡張: Magento で指定されたテーブル情報を追加および変更するにはどうすればよいですか?


13. 商品リストのデフォルトの並べ替えフィールドを変更するにはどうすればよいですか?

次の場所にパスを設定します: システム-->カタログ-->高度な製品管理-->デフォルト リスト ステータス
14. データ セット内のアイテムの数を取得します。

_productCollection データセット内のアイテムの数を取得します。ケースは次のとおりです。 $this->setStoreId($storeId);

$this->_productCollection = Mage::getResourceModel('catalog/product_collection') //データセットを取得します

$this->_productCollection = $this->_productCollection->addAttributeToSelect('*')

->addAttributeToSelect('manufacturer') //クエリ属性を追加します

->setStoreId($storeId) //ストアを設定します

->addAttributeToFilter('cuxiaobiaoqian',array('eq'=>39)) //属性フィルタリング仕様

->addStoreFilter($storeId) //店舗フィルター条件を追加します

->setPageSize(6) //アイテム数を取得します

;

15. select() メソッドを通じて指定されたデータテーブルをクエリする方法、読み取られる項目の数を制御する方法

コードアプリケーションの背景は次のとおりです:

$selfread = $this->_getConnection('yafo_bbs_setup'); //データベース接続オブジェクト

$table = $this->zixunTablePrefix."forum_post" //クエリ対象のテーブル

$result = $selfread->select()->from( array('a'=>$table), array('tid','subject')) //テーブルとフィールドを指定します質問されました

->limit($size) //指定された数のアイテムを読み込みます

->order("a.dateline DESC") //ソート条件を指定

->where( $selfwhere ) //フィルター条件を追加します

Return $selfread->fetchAll($result) //クエリ結果を返す

16. 指定した商品価格とグループ価格を変更しますか(コード操作)?

$selfPrc = Mage::getModel('カタログ/製品')->load(614); $selfData = $selfPrc->getData(); $selfData['価格'] = 25; $selfData['group_price'] = array( 0 =>配列(                                                        "website_id" => 0、                            "すべてのグループ" => 0、                            "cust_group" => 0、                            「価格」=> 97.0000、                            "website_price" => 97.0000                        )、                      1=>配列                        (                            "website_id" => 0、                            "すべてのグループ" => 0、                            "cust_group" => 1、                            「価格」=> 27.0000、                            "website_price" => 27.0000                        )、                      2=>配列                        (                            "website_id" => 0、                            "すべてのグループ" => 0、                            "cust_group" => 2、                            「価格」=> 17.0000、                            "website_price" => 17.0000                        )、                      3=>配列                        (                           "website_id" => 0、                            "すべてのグループ" => 0、                            "cust_group" => 3、                            「価格」=> 67.0000、                            "website_price" => 67.0000                        )、                      4=>配列                        (                            "website_id" => 0、                            "すべてのグループ" => 0、                            "cust_group" => 4、                            「価格」=> 66.0000、                            "website_price" => 66.0000                        )); $selfPrc->setData($selfData); $selfPrc->save();


17.修正指定品库存(代码操作)?

$selfPrc = Mage::getModel('カタログ/製品')->load(614); $aa = Mage::getModel("cataloginventory/stock_item")->loadByProduct($selfPrc); $selfaa = $aa->getData(); $selfaa['数量'] = 23; $aa->setData($selfaa); $aa->save();


18.SQL 语をどのように出力するか
$result = $selfread->select()->from(array('ft'=>$ flatTable),array())

->join(array('pc'=>$prcCategory),'ft.entity_id=pc.entity_id',array('pc.value')) ->where( 'ft.attribute_set_id=?', $attsetid) ->where( 'pc.attribute_id=?', $attid) ->group("pc.value"); // $result をエコーし​​ます。 exit;//出句sql语


19.后台表单配置、代网里面追加备注?

$fieldset->addField('dict_grade', 'select', array( '名前' => 'dict_grade', 'ラベル' => Mage::helper('catalogsearchrewrite')->__('高度な検索 Ciku グレード管理'), 'タイトル' => Mage::helper('catalogsearchrewrite')->__('高度な検索 Ciku グレード管理'), 「タイプ」 => 「オプション」、 'オプション' => Mage::getSingleton('catalogsearchrewrite/cikumanage')->getCikuGradeOptionArray(), 'after_element_html' => Mage::helper('catalogsearchrewrite')->__('キーワード グレード 説明。')、//after_element_htmlこのプロパティは用来追加备注 '必須' =>真実、 ) );


20.实例化モデル、load メソッドを介して指定されたフィールドをどのように取得しますか?
$dictModel=Mage::getModel('catalogsearchrewrite/cikumanage')->load($dictname,'dict_name');  //パラメータ1:指定值、パラメータ2:指定文字段

$dictModel->getDictName(); //取得して返される指定されたフィールド值

www.bkjia.com本当http://www.bkjia.com/PHPjc/1135808.html技術記事 magento 常用的関数数,magento 常用関数数 1.Magento eav_attribute 表中ソースどのように自定データデータ来源を指定するか結果你参照的类名はyebihai_usermanage_model_entity_school你...
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHPの目的:動的なWebサイトの構築PHPの目的:動的なWebサイトの構築Apr 15, 2025 am 12:18 AM

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

PHP:データベースとサーバー側のロジックの処理PHP:データベースとサーバー側のロジックの処理Apr 15, 2025 am 12:15 AM

PHPはMySQLIおよびPDO拡張機能を使用して、データベース操作とサーバー側のロジック処理で対話し、セッション管理などの関数を介してサーバー側のロジックを処理します。 1)MySQLIまたはPDOを使用してデータベースに接続し、SQLクエリを実行します。 2)セッション管理およびその他の機能を通じて、HTTPリクエストとユーザーステータスを処理します。 3)トランザクションを使用して、データベース操作の原子性を確保します。 4)SQLインジェクションを防ぎ、例外処理とデバッグの閉鎖接続を使用します。 5)インデックスとキャッシュを通じてパフォーマンスを最適化し、読みやすいコードを書き、エラー処理を実行します。

PHPでのSQL注入をどのように防止しますか? (準備された声明、PDO)PHPでのSQL注入をどのように防止しますか? (準備された声明、PDO)Apr 15, 2025 am 12:15 AM

PHPで前処理ステートメントとPDOを使用すると、SQL注入攻撃を効果的に防ぐことができます。 1)PDOを使用してデータベースに接続し、エラーモードを設定します。 2)準備方法を使用して前処理ステートメントを作成し、プレースホルダーを使用してデータを渡し、メソッドを実行します。 3)結果のクエリを処理し、コードのセキュリティとパフォーマンスを確保します。

PHPおよびPython:コードの例と比較PHPおよびPython:コードの例と比較Apr 15, 2025 am 12:07 AM

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

アクション中のPHP:実際の例とアプリケーションアクション中のPHP:実際の例とアプリケーションApr 14, 2025 am 12:19 AM

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHP:インタラクティブなWebコンテンツを簡単に作成しますPHP:インタラクティブなWebコンテンツを簡単に作成しますApr 14, 2025 am 12:15 AM

PHPにより、インタラクティブなWebコンテンツを簡単に作成できます。 1)HTMLを埋め込んでコンテンツを動的に生成し、ユーザー入力またはデータベースデータに基づいてリアルタイムで表示します。 2)プロセスフォームの提出と動的出力を生成して、XSSを防ぐためにHTMLSPECIALCHARSを使用していることを確認します。 3)MySQLを使用してユーザー登録システムを作成し、Password_HashおよびPreprocessingステートメントを使用してセキュリティを強化します。これらの手法を習得すると、Web開発の効率が向上します。

PHPとPython:2つの一般的なプログラミング言語を比較しますPHPとPython:2つの一般的なプログラミング言語を比較しますApr 14, 2025 am 12:13 AM

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPの永続的な関連性:それはまだ生きていますか?PHPの永続的な関連性:それはまだ生きていますか?Apr 14, 2025 am 12:12 AM

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません