0

これは配送モジュールで、ローカル ピックアップの店舗ブランチを選択できます。ブランチは、データベースではなく csv にリストされます。

<?php
        if ( ($n > 1) || ($n2 > 1) ) {
         if ($quotes[$i]['id'] == 'localdelivery') {
          if (file_exists($quotes[$i]['pricesL'])) {
           echo '<td class="main" style="padding-right:15px;"><select name="locdeliv">';
           $file_handle = fopen($quotes[$i]['pricesL'], "r");
           while (!feof($file_handle)) {
            $line_of_text = fgetcsv($file_handle, 1024);
            echo '<option value="' . $line_of_text[1] . '">' . $line_of_text[0] . '</option>';
                                       }
            fclose($file_handle);
                                                     }
          else {
           echo '<td class="main"><select name="locdeliv"><option value="0">file missing</option>';
               }
          echo '</select></td>';
                                                }
         //else {
?>

それはうまくいきます。ユーザーに表示される配送の説明を示すコードは次のとおりです。

    function quote($method = '') {
  global $order;

  $this->quotes = array('id' => $this->code,
                        'module' => MODULE_SHIPPING_LOCALDELIVERY_TEXT_TITLE,
                        'pricesL' => MODULE_SHIPPING_LOCALDELIVERY_PRICESFILE,
                        'methods' => array(array('id' => $this->code,
                                                 'title' => print $line_of_text[1],
                                                 'cost' => MODULE_SHIPPING_LOCALDELIVERY_COST)));

  if ($this->tax_class > 0) {
    $this->quotes['tax'] = tep_get_tax_rate($this->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']);
  }

  if (tep_not_null($this->icon)) $this->quotes['icon'] = tep_image($this->icon, $this->title);

  return $this->quotes;
}

この部分

'title' => print $line_of_text[1],

ユーザーがドロップダウン リストから選択した内容をエコーする必要があります。$file_handle など色々試してみたのですが、結果はいつも「1」になってしまいます。選択したドロップダウン値を「タイトル」に取得する簡単な方法はありますか? これにより、タイトルを後でデータベースに保存できます。他のモジュールでは、「タイトル」は言語ファイルから取得されるため、データベースから取得されることはなく、チェックアウトページはその行が何であるかを「気にしません」。データベースに保存されるため、選択されたオプションを確認できます行政で。CSV を使用する理由は、会社がブランチを頻繁に更新するためであり、これが頻繁に更新する最も簡単な方法です。

4

1 に答える 1