/** * ブロックファイルに応じて tpl_mainpage を設定する * * @param string $bloc_file ブロックファイル名 * @return void */ public function setTplMainpage($bloc_file) { if (Utils::isAbsoluteRealPath($bloc_file)) { $this->tpl_mainpage = $bloc_file; } else { $this->tpl_mainpage = Application::alias('eccube.helper.page_layout')->getTemplatePath($this->objDisplay->detectDevice()) . BLOC_DIR . $bloc_file; } $this->setTemplate($this->tpl_mainpage); }
/** * 数値を数字絵文字に変換する。 * * 入力が0~9ではない場合、または、携帯端末からのアクセスではない場合は、 * 入力を [ と ] で囲んだ文字列を返す。 * * @param string $value 入力 * @return string 出力 */ function smarty_modifier_numeric_emoji($value) { // 数字絵文字 (0~9) の絵文字番号 static $numeric_emoji_index = array('134', '125', '126', '127', '128', '129', '130', '131', '132', '133'); if (Display::detectDevice() == DEVICE_TYPE_MOBILE && isset($numeric_emoji_index[$value])) { return '[emoji:' . $numeric_emoji_index[$value] . ']'; } else { return '[' . $value . ']'; } }
/** * Page のレスポンス送信(ダウンロード). * * @param string $file_name * @param string $data * @return void */ public function sendResponseCSV($file_name, $data) { $this->objDisplay->prepare($this); $this->objDisplay->addHeader('Content-disposition', "attachment; filename={$file_name}"); $this->objDisplay->addHeader('Content-type', "application/octet-stream; name={$file_name}"); $this->objDisplay->addHeader('Cache-Control', ''); $this->objDisplay->addHeader('Pragma', ''); $this->objDisplay->response->body = $data; $this->objDisplay->response->write(); Application::alias('eccube.response')->actionExit(); }
/** * marqueeタグで囲む。 * * DoCoMoの携帯端末の場合はmarqueeを使用しない。 * * @return string 出力 */ function smarty_block_marquee($params, $content, &$smarty, &$repeat) { // {/marquee}の場合のみ出力する。 if ($repeat || !isset($content)) { return null; } // 末尾の改行などを取り除く。 $content = rtrim($content); // marqueeタグを使用しない場合 if (Display::detectDevice() == DEVICE_TYPE_MOBILE && MobileUserAgent::getCarrier() == 'docomo') { return "<div>\n{$content}\n</div>\n"; } return "<marquee>\n{$content}\n</marquee>\n"; }
/** * Page のレスポンス送信. * * @return void */ public function sendResponse() { $objPlugin = PluginHelper::getSingletonInstance($this->plugin_activate_flg); // ローカルフックポイントを実行 $parent_class_name = get_parent_class($this); $objPlugin->doAction($parent_class_name . '_action_after', array($this)); $class_name = get_class($this); if ($class_name != $parent_class_name) { $objPlugin->doAction($class_name . '_action_after', array($this)); } // HeadNaviにpluginテンプレートを追加する. $objPlugin->setHeadNaviBlocs($this->arrPageLayout['HeadNavi']); // スーパーフックポイントを実行. $objPlugin->doAction('LC_Page_process', array($this)); $this->objDisplay->prepare($this, true); $this->objDisplay->response->write(); }