[ec-cube]幫商品新增說明欄位

LINEで送る
[`evernote` not found]

原本的詳細頁面右上方的欄位非常的不夠用
這次的目標是希望可以在利用select元件選擇規格後
會出現規格的個別說明
並且可以透過後端管理內容
理論上我只要可以在想放入的地方插入:

<script type="text/javascript">
<!--
function loadTab(obj,num){
  var pp = new Array();
  pp[標號一]="說明一";
  pp[編號二]="說明二"
  var tab=document.getElementById('js_tabContent');
  tab.innerHTML=pp[num];
}
  //-->
</script>
  <div id="js_tabContent"></div>

就可以了

所以我找到了以下幾個跟新增商品相關的檔;

  • \data\class\pages\admin\LC_Page_Admin_Products_Product.php
  • \data\Smarty\templates\mystyle\admin\products\product.tpl
  • \data\class\db\dbfactory\SC_DB_DBFactory_MYSQL.php
  • \data\class\pages\rss\LC_Page_Rss_Products.php

把main_comment有出現的地方都複製一份另取一個名稱:titlearea_comment_javascript
然後到資料庫中dtb_products新增一個相同名稱的欄位
現在後端系統就已經多一個欄位可以輸入了
不過由於ec-cube有限制javascript的輸入
如果直接在這新增的欄位打上程式碼

<script type="text/javascript"></script>

會被取代成#script tag escaped#
這隻程式放在;\data\smarty_extends\modifier.script_escape.php
雖然可以手動改掉
不果醬子會造成許多不必要的風險
所以我選擇直接把javascript的宣告打在detail.tpl上把剛剛的新增欄位包起來
最後再最後再detail.tpl的classcategory_id1的select物件的onchange上加上我的function就ok嚕!