PC不具合日記

PCの不具合やウェブ制作の備忘録。多少人よりパソコンが詳しいため、周囲の人からしょっちゅう不具合の問合せを受けます。試行錯誤した結果を載せただけです。個人的な備忘録なので間違ったことを書いているかもしれません。

パソコンをシャットダウンすると直後に自動的に再起動する

カテゴリ:不具合日記

【環境】
Windows7 マウスコンピュータ SPR-I640W7P15K-SP

【症状】
PCをスタート⇒シャットダウンすると、電源が落ちるが数秒後に再起動してしまう。

【対処】
タイムスケジューラなどを調べたが違った。
BIOSでWake up on LAN機能をいじったら直った。


電源投入後、キーボードの「DEL」キーを押し、BIOS画面を出す。
設定画面のWake up on LANをBIOSからOSに変更し、上書きして再起動。
これで一応直った模様。

2017.01.23掲載

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で有料会員制サイトを構築したときの注意点

カテゴリ:WordPress,制作トラブル日記

WordPress4.5.3
PaidMembershipsPRO1.8.9

WordPressで有料の会員制サイトを構築することになり、PaidMembershipsPROを使いました。いろいろ苦労したので、メモを残しておきます。

会員制サイト構築のプラグインを比較しているサイトに載っていたので採用しました。
比較されてる方のほとんどは、実際に使わずに記事を書いてるようなので要注意です。

結果としては、アメリカ向けのサイトはともかく、日本向けに日本語でサイトを作るつもりの方はPHPが触れないと使い物にはなりません。
そうはいっても、かなりの高機能なのが楽して構築できることも確かです。


構築したのは、月次課金の有料会員制サイトです。
PaidMembershipsPRO(PMPro)はStripeに対応しており、WordPressとStripeの管理画面をちょこっと触るだけで簡単にStripeの決済を利用することができます。
PayPalのようにユーザがアカウント登録する必要がなく、Wordpress側のサイトで全て完結できるので、非常に良いです。

Stripeの決済金額が100倍になる

決済テストしたところ、会費の100倍の金額で決済されることがわかりました。
StripeのAPIでは、決済金額に小数点の通貨を含む場合、100倍にして金額を送信するらしく、
PMProからStripeに送信する際に、金額を100倍にする設定になっていました。

米ドルや英ポンド等、小数を含む通貨はそれでいいのですが、
日本円は小数が入っていないので、例えば1,000円で決済すると、100,000円として決済されてしまい、このままでは大問題です。

PMPRoでは決済する通貨をセレクトボックスで簡単に選択できるようになっているので、
金額のようなデリケートな部分は当然ちゃんとなってるだろうと思っていたら、
まったくちゃんとしてませんでした・・。

/class/gateways/class.pmprogateway_stripe.phpの
"amount" => $amount * 100
の*100を削除しました(2箇所)

なかなか情報が見つからなくて苦労しました。

日本語に対応していない

PMProは日本語に未対応ですので、poファイルを自作する必要があります。
Poeditで作成しました。

自動送信メールを日本語にし、ヘッダ・フッタを設定する

会員登録や退会時などの自動返信メールは、/mail/*.htmlにひな形が入っていて編集できるようになっています。
ここは編集したpoファイルから翻訳されないので、htmlに書かれている内容を日本語に翻訳する必要があります。
メールの件名はpoファイルから翻訳されます。

メールのヘッダフッタの問題

メールのヘッダ・フッタは、WordPressのテンプレートディレクトリに
email_header.html
email_footer.html
というファイルを保存してやれば、読み込んでくれます。

ただし、ISOでエンコードしておかないと日本語は文字化けします。
メール本文の雛形はUTF-8でエンコードしないと文字化けするので間違えそうです。

私は、ヘッダに「◯◯様」と表記したかったのですが、
ヘッダ・フッタに入れた差し込みコードが働かないので、メール本文の差し込みコードを処理する箇所でヘッダ・フッタを読み込むように変更しました。

/includes/email.php



会員登録時に日付型を項目を追加したらエラーになる

PMPRoではpmpro-register-helperというプラグインを入れると、会員登録時の項目を増やすことができます。(増やすときはfunctions.phpに書きます)

私はdate型の項目を追加したのですが、
そうすると会員登録時にエラーが出るようになりました。

フォーム上で日付の項目は年月日が3つの入力欄で表示され、
field-name[y]、field-name[m]といった形式で配列になってるんですが、
受け取る際はstringで受け取るようになっていたのがエラーの原因でした。

/pmpro-register-helper/class.field.php


日付型の項目の表示順を「月日年」から「年月日」に変更

同じ箇所ですが、日付の入力欄が「月日年」の順に並んでおり、
しかも月は「JAN」「FEB」という英語の略称のセレクトボックスになってます。
なぜか日の方はテキスト入力。

これをすべてセレクトボックスにして、表示順を変更しました。

日付型の項目名を日本語にする

functions.phpで追加項目の設定をする際に、表示名の設定を別にすることができません。
dateという名前で設定すると、登録フォーム上もdateと表示されてしまいます。

これに関しては、jQueryで強引に変更しました。


会員登録時の名前の表示を「名姓」から「姓名」に変更する

これは直さないと気になりますね。
フォーム上の表記に加えて、メールにも出力される支払情報中の姓名(billing_name)も直さないといけませんでした。


会員登録時のカード決済のエラー文を日本語にする

登録フォームでカード番号や有効期限に不具合があった場合、Stripeから返ってきたエラーはJSのalertで表示されます。
jQueryで条件分岐して日本語の文章を出すようにしました。


カスタムフィールドの項目が会員設定に対応していない

管理画面上でカテゴリや投稿に会員設定をすれば、非会員には表示されないようにできるのですが、カスタムフィールドの項目は会員限定にしても見れてしまいました。

the_contents(); でそのままコンテンツを出力せずに、カスタムフィールドの項目を$contentにまとめて、その後以下のように書きました。

echo pmpro_membership_content_filter($content);

これで非会員の場合は、限定コンテンツが表示されず、非会員向けのメッセージが表示されます。

PMProの更新通知を無効にする

PMProは毎週のようにアップデートをしているようなので、
間違ってアップデートしないようにfunctions.phpで更新通知をしないようにしておきました。


他にもあったかもしれませんが、
今思い出せるのはこの程度です。

2016.07.29掲載

Twitterのプロフィール画像を設定できない

カテゴリ:不具合日記

【環境】
OS: Windows7 Professional SP1
ブラウザ:Chrome

【症状】
Twitterのプロフィール画像を設定しようとしても、
写真をアップロード出来ない

PCからブラウザでTwitterを開き、「プロフィールの編集」をクリックして
「プロフィール画像を変更」をクリック
「写真をアップロード」をクリックしてアップロードする写真を選択するが、
写真が表示されず、「適用」ボタンがクリック出来ない

【対処】
セキュリティソフトのESET Smart Secutiryのファイアウォールを解除してみたらアップロードできた。

タスクバーの「ESET Smart Secutiry」のアイコンをクリックし、
「ファイアウォールを一時的に無効にする」をクリック。
「10分間」等適当なものを選択し、Twitterで画像をアップロードした。

2016.03.28掲載

BizVektorのテンプレートのコピーライトを削除する

カテゴリ:WordPress,備忘録

2016年3月現在
1) BizVektorのテンプレートファイルのplugins.phpを開く
2) 41行目以降をコメントアウトまたは削除

2016.03.25掲載

FirefoxでMovable Typeのtextareaに横スクロールが入る

カテゴリ:制作トラブル日記

【環境】
ブラウザ:Firefox38.05
OS:Windows7
CMS:Movable Type6.1

【症状】

記事の投稿画面がフォーマット「なし」の状態にすると、
文字列が折り返されず、横スクロールが入る。

【対処】
小粋空間さんの「EntryTextareaBraker」プラグインを導入

小粋空間さんによると、Firefox36以降のバグのようです。


2015.12.21掲載

PowerCMSのCopy2Publicプラグインを最新バージョンで動かす

カテゴリ:備忘録

【症状】
Movable Typeベースのプラグインセット、PowerCMS3.1に元々ついていたopy2Publicプラグイン。
PowerCMSを4にアップグレードしたところ、「公開サーバ転送」で対象をすべて選択するチェックボックスにチェックを入れても、無反応になった。

【環境】
PowerCMS4.12
Movable Type6.12
ブラウザ:Chromeで確認

【対処】
/plugins/Copy2Public/tmpl/cp2pub_dialog2.tmpl を修正

attrがcheckedであるかをtrueで条件分岐しているので、
trueではなく'checked'に変更

15行目
修正前 if (status == true) {
修正後 if (status == 'checked') {

25行目
修正前 if (jQuery(this).attr('checked') == true) {
修正後 if (jQuery(this).attr('checked') == 'checked') {


2015.12.21掲載

DELLのPC起動時にバッテリーのエラーメッセージが表示される

カテゴリ:不具合日記

【環境】
OS: Windows7
機種: Dell Latitude 3540

【症状】
PC起動時に、黒画面で「this battery is temporarily disabeled」というメッセージが表示される。
F1を押せば起動でいるが、毎回表示されてうっとおしい。

【対処】
Dellのサポートサイトから最新BIOSをインストールしたら直った。
不具合の出ていたPCのBIOSはバージョンA06で、A10をインストール。

■手順
(1) DELLのサポートサイトにアクセス
(2) PC背面に貼ってあるシールに記載されている「サービスタグ」をサポートサイトに入力。(他の方法でも可)
(3) 左メニューから「ドライバおよびダウンロード」をクリック。
(4) 「BIOS」をクリックして、「Dell Latitude 3540 System BIOS」の「ファイルのダウンロード」をクリックしてファイルを保存。
(5) ダウンロードされたファイルを実行。
他のアプリケーションはすべて閉じておく
(6) メッセージに従って進め、再起動して完了。

2015.12.08掲載

Windows7のバックアップでエラーが出て設定を保存できない

カテゴリ:不具合日記

【環境】
OS:Windows7 Professional SP1 64bit

【症状】
Windows標準のバックアップツールで設定を変更しようとすると、
エラーが出て保存できない。

エラー内容は
「別のトランザクションで使用するために予約されている名前を関数で使用しようとしました(0x80071A90)」

error.jpg

【対処】
セキュリティソフトのESETを使用していると、上記のエラーが出る模様。

(参考)Windows バックアップ設定をおこなう際にエラー(0x80071A90)が発生する

このページに記載の手順に従ってリアルタイム保護を無効にしてからバックアップの設定を変更。

【リアルタイムファイルシステム保護を無効にする手順】
ESET製品の基本画面を開きます。
[設定]をクリックします。
コンピュータのリアルタイムファイルシステム保護の「有効」をクリックします。
間隔のプルダウンより、[再起動まで無効にする]を選択します。
[OK]ボタンをクリックして、設定ウインドウを閉じます。
※ バックアップ設定完了後、上記手順で無効にした設定を有効に戻して下さい。

2015.11.10掲載