-1

PHP のスキルはまだありません。私は HTML/CSS を学んだばかりで、すでに得意だと思っていますが、まだ PHP の知識はありません。私は自分の OpenCart ストアを開発しており、html/css の練習環境としても作成しています。

カスタム製品フィールドとして製品オプションを作成する有料モジュールをインストールしました。すでにセットアップは完了していますが、現在、ニーズに合わせて変更しようとしています。

現在、カスタム モジュールには次のコード (抜粋) があります。

<?php foreach ($field['values'] as $value) { ?>
 <?php if ($value['selected'] && !$selected) { ?>
 <?php $selected = true; ?>
 <span><?php echo $field['name']; ?></span>
 <?php } ?>
 <?php if ($value['selected'] == $value['option_value_id']) { ?>
 <?php $checkbox_value .= $value['name'] . ', '; ?> 
<?php } ?>
<?php } ?>

上記のコードは、デフォルト テーマの PRODUCT CODE フィールドの上にカスタム フィールドを表示します。

技術仕様: Android Phone、デュアルコア、4.3 インチ画面

コンマは', ';コード行のコードによって出力されます
<?php $checkbox_value .= $value['name'] . ', '; ?>

順序付けられていないリストとして作成したいのですが、以下のこれらのコードは、試行錯誤のみに基づいて、これまでに得たものです。

 <?php foreach ($field['values'] as $value) { ?>
 <?php if ($value['selected'] && !$selected) { ?>
 <?php $selected = true; ?>
 <span><?php echo $field['name']; ?></span>
 <?php } ?>
 <?php if ($value['selected'] == $value['option_value_id']) { ?><ul>
 <?php $checkbox_value .= $value['name'] . '</li><li>'; ?></li></ul>
 <?php } ?>
 <?php } ?>

上記のコードは、出力を次のように表示します。

技術仕様:

Androidフォン

  • デュアルコア
  • 4.3インチ画面

しかし、私はこのように出力するのが好きです

技術仕様:

  • Androidフォン
  • デュアルコア
  • 4.3インチ画面

アップデート:


プレゼンテーションを変更しようとしている if、else、および foreach を理解するのに助けが必要です。各値はコンマで区切られ (Android Phone、Dual Core、4.3 インチ画面)、オプション名は技術仕様です。その価値をULリストとして提示したいと思います。上記のように、ほぼ完了しました。唯一のことは、Android Phone が含まれていなかったことです。

出力すると、私のコードは次のようになります。 ここに画像の説明を入力

アップデート:

dljve コードの出力...

ここに画像の説明を入力

4

1 に答える 1

2

<ul>開始タグの後に が続かない<li>ため、最初のオプションがリスト要素として表示されません。<li>の後ろに追加する必要があり<ul>ます。

<?phpまた、HTML をエコーし​​、タグと?>タグを最小限に減らして、コードをクリーンアップすることもお勧めします。

編集:

わかりましたので、私が考えていることは (ソフトウェアのソースの残りの部分は見えませんが) $checkbox_value、このコード全体の後に出力されるため、最初と最後の<ul>および<li>タグは実際にはリストの外にあり、同じ結果が生成されます。あなたが見ているようにエラー。

このコードを試していただけますか?これにより、<ul> </ul>タグが に$checkbox_value追加され、それらの間にタグで囲まれた製品が追加さ<li> </li>れます。

<?php
$checkbox_value .= "<ul>";
foreach ($field['values'] as $value)
{
    if ($value['selected'] && !$selected)
    {
        $selected = true;
        echo "<span>" . $field['name'] . "</span>";
    } 
    if ($value['selected'] == $value['option_value_id']) 
    {   
        $checkbox_value .= "<li>" . $value['name'] . "</li>";   
    } 
}
$checkbox_value .= "</ul>"; 
?>
于 2013-11-05T07:10:24.713 に答える