タグ付けされた質問 「grid」

管理グリッドウィジェットは、管理パネルでエンティティを管理するための強力なツールです。Mage_Catalogからのカタロググリッドビューに関する質問については、代わりに「grid-layout」タグを使用してください。

1
カスタマイズされたCustomer Gridにより、MySQLテーブルスキャンとファイルソート、つまりパフォーマンスが低下する
編集:私は元々この質問をStackoverflowに投稿しましたが、完全に回答されることはありませんでした。私はここに投稿しています。これは、大規模なテーブルスキャンの理由と、(できれば)最小限のコア変更でこれを防ぐためのあらゆる手段を明らかにすることを期待しています。 Magento Enterprise。1.10.1.1。顧客と住所のデータセットはセミラージ(125k +)であり、CSRはこのグリッドにあることがよくあります(一度に25+以上の同時ユーザー)。 これは、コレクションがCustomer Grid.php Blockファイルで生成されているコードスニペットです。主にコレクションに属性を追加するだけで、特別なことや異常なことは何もありません。 $collection = Mage::getResourceModel('customer/customer_collection') ->addNameToSelect() ->addAttributeToSelect('email') ->addAttributeToSelect('group_id') ->addAttributeToSelect('prod_codes') ->addAttributeToSelect('last_called_date') ->addAttributeToSelect('time_zone') ->addAttributeToSelect('salesrep') ->addAttributeToSelect('do_not_call') ->addAttributeToSelect('club_member') ->addAttributeToSelect('call_back_date') ->addAttributeToSelect('marketing_code_outcome') ->joinAttribute('billing_postcode', 'customer_address/postcode', 'default_billing', null, 'left') ->joinAttribute('billing_city', 'customer_address/city', 'default_billing', null, 'left') ->joinAttribute('billing_telephone', 'customer_address/telephone', 'default_billing', null, 'left') ->joinAttribute('billing_region', 'customer_address/region', 'default_billing', null, 'left'); $this->setCollection($collection); このクエリを生成します。これは、顧客グリッド内での動作が非常に長くなり、読み込み時間が非常に長くなります。 SELECT e . *, _table_prefix.value AS prefix, …

2
massactions.jsを拡張する
新しい管理グリッドシステムを備えた新しいUIモジュールからJavaScriptを拡張する必要があります。デフォルトのUiコンポーネントを拡張するとヒントが得られ、いくつかのコードを設定できました。 # file: app/code/My/Module/view/adminhtml/web/js/gid/massactions.js console.log('new massactions.js'); define([ 'Magento_Ui/js/grid/massactions' ], function (massactions) { console.log('before extend'); return massactions.extend({ defaultCallback: function (action, data) { console.log('custom callback'); } }); }); ご覧のとおり、3つconsole.logありますが、defaultCallback1つは呼び出されていないため、期待どおりにメソッドを上書きしていませんが、定義が読み込まれたことは確認できます。 公平を期すために、追加した新しいアクションにカスタムコールバックを追加したいと思います。元のmassactions.jsには_getCallback、massactionアイテムのコールバックを取得しようとするがありますが(上書きしようとしているdefaultCallbackへのフォールバック)、を使用しても、そこにコールバックを追加することができませんでしたview/ui_component/sales_order_grid.xml。 どんな助けでも大歓迎です。 更新1:を使用してメソッドを上書きできますmassactions.prototype.defaultCallback = function(){}。これが副次的な効果をもたらすかどうかはわからないので、質問は残しておきます。

1
管理グリッドコンテナが読み込まれない
まず、グリッドコンテナーを読み込んで、コンテナーの見出しを表示しようとしています。ブロックファイルは正常に動作しています。コンテナーのパスはSuper-> Awesome-> Block-> Adminhtml-> Awesome.phpで、以下が含まれています <?php class Super_Awesome_Block_Adminhtml_Awesome extends Mage_Adminhtml_Block_Widget_Grid_Container { public function __construct() { $this->_blockGroup = 'super_awesome'; $this->_controller = 'adminhtml_awesome'; $this->_headerText = Mage::helper('super_awesome')->__('Manage'); parent::__construct(); } } レイアウトファイルsuper_awesome.xml <?xml version="1.0"?> <layout> <adminhtml_example_index> <reference name="content"> <block type="super_awesome/adminhtml_awesome" name="super_awesome"></block> </reference> </adminhtml_example_index> </layout> 内部public function __construct()で何かをエコーすると、コンテンツが表示されますが__contruct()、上記のように適切なメソッドを追加すると、空白のページが表示されます。内部ブロック(Grid.php)も追加する必要がありますか?そうすると、私のコンテナテキストが表示されますか?コンテナブロックAwesome.phpをGrid.phpに変更する必要がありますか? Config.xml <?xml version="1.0"?> <config> <modules> <Super_Awesome> <version>0.1.0</version> …
7 grid 

1
自動インクリメントフィールド以外の管理グリッドを作成するにはどうすればよいですか?
編集可能な管理グリッドを作成したいのですが。問題は、このグリッドのid列が非自動インクリメント値になることです。これは実装可能ですか? これに関連するチュートリアルや記事を提案できますか? 更新:magento属性コレクションをカスタムテーブルに結合することで得られるコレクションを使用しています。ただし、以下の提供されたコードには、製品属性コレクションのみが含まれています。ID列にはattribute_id Grid.php <?php class BalanceAP21Connector_ProductSync_Block_Adminhtml_Attributemapping_Edit_Tab_Attribute extends Mage_Adminhtml_Block_Widget_Grid { /** * Constructor, ensures pagination is hidden */ public function _construct() { $this->setId('attribute_edit'); $this->setUseAjax(true); $this->setDefaultSort('attribute_id'); $this->setPagerVisibility(true); $this->setSaveParametersInSession(true); parent::_construct(); } /** * Prepare grid collection object. Collection object populated * based on Apparel 21 module settings in admin configuration section. */ …

3
magentoグリッドに合計行を追加する方法
magento adminで特定の製品(これはレポートグリッドではありません)の注文グリッドを使用する新しいモジュールを作成しています。そのための新しい注文グリッドを正常に作成しますが、販売のように、製品の合計価格を最後に取得したい>レポート。 画像をご覧ください どんな助けでも感謝します、ありがとう

3
UNIONを2つのコレクションに使用するにはどうすればよいですか?またはコレクションをマージしますか?(adminhtmlグリッドで使用)
まず、私がやろうとしていること: まだ注文をしていない顧客と、顧客アカウントをまだ持っていないニューレター購読者のコレクションを入手してください。 mysqlにはFULL JOINおよびFULL OUTER JOINが存在しないため、基本的なSQLクエリは次のとおりです。 SELECT `e`.`entity_id`, `e`.`group_id`, `e`.`email`, `salesOrder`.`entity_id` AS `order_id`, `salesRecurringProfile`.`profile_id`, `newsletterSubscriber`.`subscriber_status`, `newsletterSubscriber`.`subscriber_id`, `newsletterSubscriber`.`subscriber_email`, `newsletterSubscriber`.`customer_id` FROM `customer_entity` AS `e` LEFT JOIN `sales_flat_order` AS `salesOrder` ON e.entity_id = salesOrder.customer_id AND salesOrder.status = 'processing' LEFT JOIN `sales_recurring_profile` AS `salesRecurringProfile` ON e.entity_id = salesRecurringProfile.customer_id AND salesRecurringProfile.state = 'active' LEFT JOIN …
7 collection  grid  sql 

3
Admin Report_GridまたはWidget_Gridブートストラップ
Adminhtmlモジュール内のウィジェットグリッドまたはレポートグリッドのコードをブートストラップする一連のコマンドラインツールを知っている人はいますか?次のツールキットにはすばらしい機能がたくさんありますが、バックエンドビューのクイックスタートにはなりません。 https://github.com/alistairstead/MageTool https://github.com/dankocherga/MTool https://github.com/classyllama/Wiz この作業を容易にするこれらのすでに素晴らしいツールキットの一部で利用できるジェネレーターまたはプラグインはありますか?Grid.phpをコピーしてクラスの名前を変更するのを忘れているこの特定の人のためのヒントはありますか? 事前に感謝-すべてのフィードバックを歓迎します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.