2011-07-13 16 views
0

クイックワン。str_replace magento商品名

私はグループ化された製品ページでmagento simple productsの選択入力を受けました。

グループ化された商品名を削除し、残りのSKUを残したいと思います。

単純な製品名:trfu00XSグループ化された製品名:trfu00結果:XS

下記をご覧ください。

<form> 
<select id="tflitem" onchange="showSelected()" /> 

<option value="" selected>Size</option> 

<?php if (count($_associatedProducts)): ?> 
<?php foreach ($_associatedProducts as $_item): ?> 

<?php if ($_product->isSaleable()): ?> 
<?php if ($_item->isSaleable()) : ?> 
<option value="super_group[<?php echo $_item->getId() ?>]"><?php echo $this->htmlEscape($_item->getName()) ?> <?php echo $_product->getName() ?>/ <?php echo $this->getPriceHtml($_item, true) ?> 
<?php else: ?> 

<?php endif; ?> 
<?php endif; ?> 
</option> 
<?php endforeach; ?> 
</select> 

<input type="text" id="tflIndex" size="5" /> 
QTY 

</form> 
+0

サイドノート..もしあなたのコードが少し高速化されたければ、もっと大きなPHPブロックを書いてください。 PHPでブロックを開く/閉じるある種のオプティマイザとプリコンパイラを使用していない限り、エンジンが減速すると信じています – Fabrizio

答えて

2

いくつかの点:

SKUコードは、例えば、あなたがそれらにダッシュを置くことができ、可能な最小の長さである必要はありません。 TRFU-00-XSを使用して、一貫性のあるスキーマを使用することができます。 BASE_SKU-SIZE-COLOR。

これにより、人々は、顧客、注文チーム、プログラマーの作業がより簡単になります。この場合、PHP strtok()と他の関数を使用して、SKUのコンポーネント部分を取得することができます。

あなたの例では、名前とSKUとは何か分かりません。しかし

、foreachループは、次にあなたがstr_replace($basename,'',$_item->getName())(またはSKU)をすることができます$basesku=$this->getSku();または$basename=$this->getName();

を試す前に、最後のビットを取得するには、SKUあなたの基本製品を取得します。

+0

mmm ...無効なメソッドMage_Catalog_Block_Product_View_Type_Group_ :: str_replace(Array ( [0] => [1] ] => [2] => SR01002CS ) – Schonkton

+0

通常のPHPでstr_replaceを返します。そうでない場合は、その構文が機能していない場合は、$ _item-> getName()を間に別のものとして保存してください。正直言って、あなたが名前やスキューとして使っていたものは、私には分かりませんでした。この場合の –

+0

は、SKUも製品の名前です。 – Schonkton

関連する問題