PC不具合日記 > 制作トラブル日記
制作トラブル日記
PrestaShopの新商品の「新」マークを「New」に変える
PrestaShop 1.6.1.7
PrestaShopでデフォルトのテーマを使っていると、商品一覧に表示される新商品のラベルが「新」となっていて変なので、「New」に変更する。
管理画面の左メニューのLocalization⇒Translationsからやってもいいはずですが、
なぜか保存しても反映されなかったのでFTPでやりました。
/themes/***/lang 内にある変更したい言語ファイルをテキストエディタで開く
デフォルトのテーマなら***部分は「default-bootstrap」です。
日本語なら「ja.php」です。
「'新'」になっているところを「'New'」に変更し、FTPでアップロード
2016.10.07掲載
PrestaShopの翻訳画面で項目数の最大制限数の警告が表示されて編集できない
Prestashop 1.6.1.7
左メニューより「Localization」⇒「Translations」を開き、
「翻訳を変更」欄から「Modify」をクリックすると、
以下のエラーが表示される。
警告 フォームに登録できる項目数がPHP設定の最大制限数です: 1000 最大入力値のため
Please ask your hosting provider to increase this limit to 1139 at least, or you will have to edit the translation files.
php.iniの
max_input_varsを大きめの数字に変更する
2016.10.06掲載
PaidMembershipsPROで有料会員制サイトを構築したときの注意点
PaidMembershipsPRO1.8.9
比較されてる方のほとんどは、実際に使わずに記事を書いてるようなので要注意です。
結果としては、アメリカ向けのサイトはともかく、日本向けに日本語でサイトを作るつもりの方はPHPが触れないと使い物にはなりません。
PMProからStripeに送信する際に、金額を100倍にする設定になっていました。
日本円は小数が入っていないので、例えば1,000円で決済すると、100,000円として決済されてしまい、このままでは大問題です。
金額のようなデリケートな部分は当然ちゃんとなってるだろうと思っていたら、
まったくちゃんとしてませんでした・・。
"amount" => $amount * 100
の*100を削除しました(2箇所)
email_header.html
ヘッダ・フッタに入れた差し込みコードが働かないので、メール本文の差し込みコードを処理する箇所でヘッダ・フッタを読み込むように変更しました。
そうすると会員登録時にエラーが出るようになりました。
field-name[y]、field-name[m]といった形式で配列になってるんですが、
受け取る際はstringで受け取るようになっていたのがエラーの原因でした。
/pmpro-register-helper/class.field.php
しかも月は「JAN」「FEB」という英語の略称のセレクトボックスになってます。
dateという名前で設定すると、登録フォーム上もdateと表示されてしまいます。
今思い出せるのはこの程度です。
2016.07.29掲載
FirefoxでMovable Typeのtextareaに横スクロールが入る
【環境】
ブラウザ:Firefox38.05
OS:Windows7
CMS:Movable Type6.1
【症状】
記事の投稿画面がフォーマット「なし」の状態にすると、
文字列が折り返されず、横スクロールが入る。
【対処】
小粋空間さんの「EntryTextareaBraker」プラグインを導入
小粋空間さんによると、Firefox36以降のバグのようです。
2015.12.21掲載
ECCUBE2.13でログイン時にlogin_error等の文字だけ表示される
ECCUBE2.13で会員ログインしようとすると、
真っ白な画面に以下のメッセージが表示される。
{"login_error":"\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3082\u3057\u304f\u306f\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093\u3002"}
以前の記事で同様の症状が出て、直せたと思っていたのは勘違いだった模様。
Google検索すると、
パラメータ設定の「DEVICE_TYPE_SMARTPHONE」がPC用の「DEVICE_TYPE_PC」と同一の場合にこのようになる。PCと違う値にすればOKという記載がありました。
今回のサイトでは、レスポンシブを採用したので、PCとスマホ同一ソースを出す必要があるため、DEVICE_TYPE_SMARTPHONEをPCと同じ数値にしていました。
異なる数値にはできないので、
端末の振り分け部分を修正することにしました。
data/class/SC_Display.phpの
端末の判定部分をコメントアウトし、すべてPCとして扱うよう変更。
(ガラケーサイトはつくってないのでついでにコメントアウト)
public static function detectDevice($reset = FALSE)
{
if (is_null(SC_Display_Ex::$device) || $reset) {
$nu = new Net_UserAgent_Mobile();
$su = new SC_SmartphoneUserAgent_Ex();
// if ($nu->isMobile()) {
// SC_Display_Ex::$device = DEVICE_TYPE_MOBILE;
// } elseif ($su->isSmartphone()) {
// SC_Display_Ex::$device = DEVICE_TYPE_SMARTPHONE;
// } else {
SC_Display_Ex::$device = DEVICE_TYPE_PC;
// }
}
return SC_Display_Ex::$device;
}
data/cache内のファイルを削除して、
再度アクセスし、正常な表示になっていることを確認しました。
以前の記事で直せたと思ったのは、どうもキャッシュの更新のタイミングで直ったように見えただけじゃないかと思っています。
2015.12.08追記
同じ状態になりました。
よく分かりませんが直ってなかったようです。
data/class/pages/frontparts/LC_Page_FrontParts_LoginCheck.phpの
SC_Display_Ex::detectDevice() === DEVICE_TYPE_SMARTPHONE
部分をすべてはずして、全てPC扱いに変更したら直りました。
2015.10.27掲載
ECCUBE2.13でログイン時に画面遷移しない
ECCUBE2.13でユーザがログインしようとすると、
{"success":"\/mypage\/login.php"}
とだけ画面に表示されて、正常に画面遷移しない。
Google検索したらスマホのみで同様の事例があった。
tplをデフォルトのテンプレートに変えても直らず、
templates_cの中を削除しても変わらず。
classファイルとか一部いじってたので、
こちらもデフォルトに戻しても直らず。
/data/cache内のファイルを全削除したら直った。
2015.09.08掲載
WordPressの画像の編集画面でプレビューが表示されない
【症状】
WordPressを導入しているサイトで、アップロードした画像をWordPress上から編集しようとすると、プレビュー画像が表示されない。
【環境】
WordPress: 4.1
【対処】
Googleで検索してもあまり情報はなかった。
まず「画像プレビュー部分はAjaxを使っているので、セキュリティソフトが原因では?」という書き込みがあったので、オフにしてみたが、効果なし。
WordPressの英語版のサポートサイトで、functions.phpの空白行の問題という書き込みがあったので、試したところ解決した。
具体的には
funcions.phpで、以下のようにPHPで書かれていない部分に空白行があったら削除する。
■変更前
■変更後
【参考】
"Edit Image" - image does not show up...
https://wordpress.org/support/topic/edit-image-image-does-not-show-up
2015.03.09掲載
ajaxzip3で郵便番号を訂正すると文字化けする
メールフォーム等で入力された郵便番号を住所に自動変換してくれる「ajaxzip3」。
一度郵便番号を入力し、
上3桁はそのままで下4桁を変更すると、変換される住所が文字化けしました。
この不具合はブラウザがInternetExplorerで、文字コードがUTF-8以外の場合に発生する模様。Chromeやその他のブラウザでは問題なく、IEでもUTF-8の場合は発生しない様子。
対処法方法としては読み込んでくるjsのソースの書き換えです。
(googlecode.comから直接読み込んでる場合は、jsファイルを自身のWebサーバにコピーしないといけない)
jsファイルの以下の部分を書き換えます。
【訂正前】
b.setAttribute("src",a);b.setAttribute("charset","UTF-8");
【訂正後】
b.setAttribute("charset","UTF-8");b.setAttribute("src",a);
2014.05.09掲載
エクセルファイルをダウンロードするとzipファイルになる
2013.08.21掲載
楽天モーションウィジェットがプルダウンメニューに重なる
【症状】
マウスオーバーでサブメニューが表示されるプルダウンメニューを使っているサイトで、
楽天アフィリエイトが提供している「楽天モーションウィジェット」を使用すると、
プルダウンメニューの被さるようにウィジェットが表示されてしまう。
【対処】
楽天モーションウィジェットのコードに
「rakuten_wmode="on";」を追記する。
※以下記入例
2012.07.15掲載
Movable Typeの本文エリアに記事が書けない
OS:Windows Vista
ブラウザ:Internet Explorer9.0
CMS:Movable Type Open Source5.04
【症状】
Movable Typeを使用しているサイトで、記事を新規作成しようとしたところ、
タイトル欄には入力ができるが、本文欄に文字が入力できない。
マウスのポインタを入力欄に合わせてクリックしても、無反応。
【対処】
Movable Typeは現在(2011/8/1)、Internet Explorer9に正式対応していないため、
様々な不具合が起こる模様。
IE9には「互換表示」という機能があって、以前のバージョンでの表示ができる。
MTの記事入力画面を開き、
IEのアドレス欄の右側にある「互換表示」アイコンをクリックすれば、
本文欄に入力できるようになった。
互換表示するサイトは記憶してくれるようなので、毎回クリックする必要はないようです。
(以下、参考)
Q. Movable Type 5 は Internet Explorer 9 に対応していますか(six apart社)
http://www.movabletype.jp/faq/mt5-ie9.html
互換表示
http://windows.microsoft.com/ja-JP/internet-explorer/products/ie-9/features/compatibility-view/
2011.08.01掲載
IE7でフォームに入力ができない
OS:Windows XP Professional SP3
ブラウザ:Internet Explorer 7
【症状】
入力フォーム上でマウスをクリックしても、フォーム欄にカーソルが入った状態にならず、
入力することが出来ない。
IE8やFirefoxなどその他のブラウザでは問題なく入力できる。
【メモ】
原因を調べると、入力フォームの上部にあったパンくず表示でした。
パンくず表示がposition:absoluteで絶対位置が指定されていたのですが、
position:abosluteを外すと、うまく表示されるように。
しかしposition:abosluteを外すとレイアウトが乱れるので、
同じ要素にheight:○○pxを指定したら、問題なく表示されるようになりました。
恐らくposition:abosluteで指定した要素が入力フォームの上に乗っかっている状態なのだと思います。
2011.04.22掲載