• 締切済み

以前、こちらの質問サイトで質問した際に回答を頂いた内容で、

以前、こちらの質問サイトで質問した際に回答を頂いた内容で、 Smartyの .tpl ファイルなどに、<?php?>。。。<?/php?>を書き、Javascriptで表示させるというやり方がありました。 回答は別の所から、案を頂き、 function html_load(){ document.title = "<!--{$title_text}-->" + "|" + document.title;   keyword_write($keyword); } を function html_load(){ document.title = "<!--{$title_text}-->" + "|" + document.title;   keyword_write("<!--{$keyword}-->"); } としました。 以下、全文。 <!--{php}--> $db_connect = false; $sql_category = "SELECT category_id,category_name,parent_category_id FROM dtb_category WHERE category_id = "; $db = mysql_connect(DB_SERVER,DB_USER,DB_PASSWORD); //mysql_query("SET NAMES utf8"); if(mysql_select_db(DB_NAME, $db)) $db_connect = true; $title_text = ''; $keyword = '';  //←追記 if ($db_connect){ $sql = $sql_category.$_GET['category_id']; $result = mysql_query($sql); $row = mysql_fetch_assoc($result); mysql_free_result($result); $title_temp = $row['category_name']; while ($row['parent_category_id'] != 0){ $sql = $sql_category.$row['parent_category_id']; $result = mysql_query($sql); $row = mysql_fetch_assoc($result); mysql_free_result($result); $title_text = $row['category_name']; } if ($title_text != '') $title_text = $title_text." | ".$title_temp; else $title_text = $title_temp; } $this->assign("title_text", $title_text); $this->assign("keyword", $title_text);  //←追記 <!--{/php}--> <script type="text/javascript"> //<![CDATA[ function setEventListener(el, evt, func){ if (el.addEventListener) el.addEventListener(evt, func, false); else el.attachEvent("on"+evt, func); } function html_load(){ document.title = "<!--{$title_text}-->" + "|" + document.title;   keyword_write("<!--{$keyword}-->"); } function keyword_write(keyword){  var meta=document.getElementsByTagName("meta");  for(var i=0;i<meta.length;i++){  if(meta[i].name=="keywords")   meta[i].setAttribute("content",meta[i].getAttribute("keyword")+","+keyword);  } } setEventListener(window, 'load', html_load); //]]> </script> そこで、EC-CUBEの環境で、setAttribute、getAttributeが使えないので、 他の方法を教えていただきたく

みんなの回答

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

>因みに、どんな構文になるのでしょうか ANo1に書いたつもりなんですけれど・・・・? 要素が変数objに格納されているとし、属性名が"property"とすれば、その内容が  obj.property とか obj["property"] で取得あるいは設定(属性値が読み取り専用でないことが条件)可能という意味です。

mkhkck
質問者

補足

<script type="text/javascript"> //<![CDATA[ function setEventListener(el, evt, func){ if (el.addEventListener) el.addEventListener(evt, func, false); else el.attachEvent("on"+evt, func); } function html_load(){ document.title = "<!--{$title_text}-->" + "|" + document.title;   keyword_write("<!--{$keyword}-->"); } function keyword_write(keyword){  var meta=document.getElementsByTagName("meta");  for(var i=0;i<meta.length;i++){  if(meta[i].name=="keywords")   meta[i].elementAttribute("content",meta[i].elementAttribute("keyword")+","+keyword);  } } setEventListener(window, 'load', html_load); //]]> </script> という事でしょうか?

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

回答がないみたいなので… EC-CUBEの環境はまったく知りませんが、通常のDOMオブジェクトの場合、その属性は elment.attribute や element["attribute"] などでも取得できる場合がほとんどですが、それでもダメなのでしょうか?

mkhkck
質問者

補足

やってみないとわからないとは思いますが、因みに、どんな構文になるのでしょうか? よろしくお願い致します。

関連するQ&A