タグ別アーカイブ: PHP

「Dashicons」はWordPress 3.8から導入された公式のアイコンだそうです。
プラグインとかでもSVGアイコンを導入出来るけど〜公式のほうが自分は好き。

こんな奴なんですが〜以下のサイトでコードを入手可能なので早速使ってたのですが…

https://developer.wordpress.org/resource/dashicons/

SCR(2015-06-02 18.15.15)

続きを読む


domain

クライアントからの依頼でカゴヤからFC2へドメインを移管することになりました。
ドメインの移管自体久しぶりなので少し緊張気味w

カゴヤに転出届をだしてみる。

まずはカゴヤの移管方法を確認してみました。

カゴヤの「よくある質問:独自ドメインを他社に移管したい」にアクセス。

http://support.kagoya.jp/faq/index.php?solution_id=1188

d-001

続きを読む


以前「ECCUBEのお問い合わせフォームの複製/別作成 増やし方」で紹介もしましたが。

WordPressも実装しているのであればコチラのContactform7を入れたいくらいです。
主な機能は下記。
基本的なお問い合わせフォーム機能はもちろんのこと。
メール形式チェック
入力必須項目の実装
CAPTCHA(画像認証)
ファイル添付機能
などなど、カスタマイズ性には特化しているかと思います。

なのですが・・・ファーストサーバーで文字化けする・・・orz

続きを読む


サイドバーに物件を表示させようと「トップ物件表示」を弄っていましたが挫折。
面倒なので以前使っていたポストタイプを指定して表示させるコードを改変。
色んな所からコードを寄せ集め直して作りましたとさ。。。
(まぁ不動産系に係らずサイドバーに新着表示させられるんだけどねw)

[php]
<div class="newentry">
<?php $loop = new WP_Query( array( ‘post_type’ => ‘fudo’, ‘posts_per_page’ => 1 ) ); ?>
<?php query_posts( array( ‘post_type’ => ‘fudo’, ‘posts_per_page’ => 1 ) ); ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
<?php the_post_thumbnail(array(180,180), array(‘class’ => ‘left’)); ?>
</a>
<div class="title">
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
<?php echo mb_substr(get_the_title(),0, 1); ?>
</a><br />
<?php echo mb_substr(get_the_excerpt(),0, 50); ?><br />
<a href="<?php the_permalink();?>">
…続きを読む
</a>
</div>
<?php endwhile; wp_reset_query();?>
<?php endif; wp_reset_query();?>
</div>
[/php]

以下備忘録。

続きを読む


※ PHPファイルの作成に失敗しました

と表示される事象に遭遇中です。

「デザイン管理>PC>ページ詳細設定」で新規ページ追加時に起こった現象ですが。

ブロック設定からの新規追加は可能。

パーミッション変更でもらちがあきませんでした。

ん〜どうしよう。。。

面倒なので以下で解決。

phpが作れないとダダをこねるなら。。。。

登録したいファイル名でphpを予め作りFTPで「user_data」にアップロード。

因にファイル内容は下記でアップロード。

そしてブラウザ側で登録ボタンを押すことでtplファイルの生成とSQLへの登録も行えます。

以下余談。

クラスがだめなのかと思い、該当ファイルのみナイトリービルドを突っ込んでみました。

案の定デザインclassだった為か全部書き換えられ、一時的にuser_dataフォルダも認識しない状態に・・・

バックアップとって再インストールして解決。


上記コードを表示させたいところに表示。

商品詳細ページのファイルは下記。


新規DBを下記のように設定します。
MySQL の文字セット: UTF-8 Unicode (utf8)
MySQL 接続照合順序: UTF-8 Unicode_ci
作成後に変更しても直らないので再インストールになります。
■PHP MyAdminで文字コードを utf8_general_ci に変更
 ※PHP MyAdminでデータベースを選択後、操作タブ→照合順序 で変更可能

■文字化けが直っていればOK

ですが、もしその手順でインストールしていた、やってみたが直っていなければ下記の手順も試してみましょう。

■.htaccessに、
AddHandler .php
suPHP_ConfigPath

■php.iniを、.htaccessと一緒に指定した階層に置く。

参考サイト↓
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=9044&forum=10

もう一つの方法が

■下記のUTF-8の部分が別の物になっていれば、修正してからインストール

/data/class/SC_Query.php の79行目、

//$this->conn->setCharset(CHAR_CODE);
$this->conn->setCharset(‘utf8′);

/data/module\MDB2/Driver/mysql.php の539行目、

//if (!empty($this->dsn[‘charset’])) {
  //$result = $this->setCharset($this->dsn[‘charset’], $connection);
  $result = $this->setCharset(‘utf8′, $connection);
  if (PEAR::isError($result)) {
    $this->disconnect(false);
    return $result;
  }
//}

参考サイト↓
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=7678&forum=2&post_id=37349


カテゴリーブロックを以下のように書き換えるだけ。

要は元のカテゴリーブロックを下記のように修正。

上記の※印の3行を削除。


user_date/packages/default/css/common.css内の記述を変更
(contents.cssの可能性あり)

↓に変更。

下記はカラムへの回り込み禁則処理
(商品が1つの場合や価格順・新着順のソートバー回り込み禁則)

common.cssの中(100行目あたり)に追記

下層コンテンツあたりに追記

多分以上で出来るが、商品名や文字のボリュームで個々のheightがバラバラになることがあります。
なので、「heightLine.js」jQuery等でそろえること。
(面倒であればCSSでdiv.list_areaとdiv.list_area h3 の heightを強制固定)

買い物かごの表記は下記ファイルの200行目前後。
今回は消去しました。
template/default/products/list.php

2012年1月24日 加筆


html/frontparts/bloc/product_list.php を新規作成

data/class_extends/page_extends/frontparts/bloc/LC_Page_FrontParts_Bloc_Product_List_Ex.php を新規作成

[php]
<?php

// {{{ requires
require_once(CLASS_EX_REALDIR . "page_extends/frontparts/bloc/LC_Page_FrontParts_Bloc_Product_List_Ex.php");

// }}}
// {{{ generate page

$objPage = new LC_Page_FrontParts_Bloc_Product_List_Ex();
register_shutdown_function(array($objPage, "destroy"));
$objPage->init();
$objPage->process();

?>
[/php]

data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_Product_List.php を新規作成

[php highlight=”44″]
<?php

// {{{ requires
require_once CLASS_REALDIR . ‘pages/frontparts/bloc/LC_Page_FrontParts_Bloc.php’;

/**
* Product_List のページクラス.
*
* @package Page
*/
class LC_Page_FrontParts_Bloc_Product_List extends LC_Page_FrontParts_Bloc {

// }}}
// {{{ functions

/**
* Page を初期化する.
*
* @return void
*/
function init() {
parent::init();
$bloc_file = ‘product_list.tpl’;
$this->setTplMainpage($bloc_file);
}

/**
* Page のプロセス.
*
* @return void
*/
function process() {
if (defined("MOBILE_SITE") && MOBILE_SITE) {
$objView = new SC_MobileView();
} else {
$objView = new SC_SiteView();
}

$objQuery = new SC_Query_Ex();
$objProduct = new SC_Product_Ex();

//$objQuery->setLimitOffset(10);
//$objQuery->setOrder("update_date desc");
$this->arrProducts = $objProduct->lists($objQuery);

$objView->assignobj($this);
$objView->display($this->tpl_mainpage);
}

/**
* デストラクタ.
*
* @return void
*/
function destroy() {
parent::destroy();
}
}

?>
[/php]

$this->arrProducts = $objProduct->lists(&$objQuery);の44行目で過去のバージョン2.11辺りのQueryだとlists(&$objQuery);の表記でしたが&無しで記述。 $this->arrProducts = $objProduct->lists($objQuery); data/Smarty/templates/default/frontparts/bloc/product_list.tpl を新規作成

[php]
<!–{if count($arrProducts) > 0}–>
<div class="bloc_outer clearfix">
<div id="productlist_area">
<h2>商品一覧リスト</h2>
<div class="bloc_body clearfix">
<!–{foreach from=$arrProducts item=arrProduct}–>
<div class="product_item clearfix">
<div class="productImage">
<a href="<!–{$smarty.const.P_DETAIL_URLPATH}–><!–{$arrProduct.product_id|u}–>"><img src="<!–{$smarty.const.ROOT_URLPATH}–>resize_image.php?image=<!–{$arrProduct.main_list_image|sfNoImageMainList|h}–>&width=40&height=40" alt="<!–{$arrProduct.name|h}–>" /></a>
</div>
<div class="productContents">
<h3>
<a href="<!–{$smarty.const.P_DETAIL_URLPATH}–><!–{$arrProduct.product_id|u}–>"><!–{$arrProduct.name|h}–></a>
</h3>
<p class="sale_price">
<span class="price"><!–{$arrProduct.price02_min|sfCalcIncTax:$arrInfo.tax:$arrInfo.tax_rule|number_format}–> 円</span>
</p>
</div>
</div>
</dl>
<div class="clear"></div>
<!–{/foreach}–>
</div>
</div>
</div>
<!–{/if}–>
[/php]

スタイルシート追記

[css]
<style type="text/css">
div#productlist_area h2 {
background-color:#de5e17;
text-align:center;
color:#fff;
padding:7px 0 7px 0;
}
div#productlist_area div.productImage {
float:left;
width:40px;
padding:0 8px 0 0;
}
div#productlist_area div.productContents {
float:left;
width:100px;
}
div#productlist_area div.product_item {
padding:5px 0 5px 5px;
}
</style>
[/css]

データベースに新規ブロック情報を登録

[php]
insert into dtb_bloc values(10,10,’product_list’,’product_list.tpl’,’product_list’,now(),now(),’frontparts/bloc/product_list.php’,0);
[/php]

Warningが表示されたので掲示板等参考に下記を実行。

[php highlight=”7″]
<?php

// {{{ requires
require_once CLASS_REALDIR . ‘pages/frontparts/bloc/LC_Page_FrontParts_Bloc.php’;
////中略////

$this->arrProducts = $objProduct->lists(&$objQuery);

$objView->assignobj($this);
$objView->display($this->tpl_mainpage);
}

/**
* デストラクタ.
*
* @return void
*/
function destroy() {
parent::destroy();
}
}

?>
[/php]

data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_Product_List.phpの部分で、本文44行目(上記7行目) $this->arrProducts = $objProduct->lists(&$objQuery); $this->arrProducts = $objProduct->lists($objQuery);

としたら表示が消えました。