インストール終了後、以下のレジストリをチェックして、FileZilla を削除しないと自動起動されます。 HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run ※ 結局 FileZilla Server は 32ビットアプリという事になりますXAMPP 内の FileZillaFTP フォルダは空 Pleiades Eclipse 4.7 Oxygen 2 Windows 64bit Ultimate Full Edition の中に XAMPP が入っていますが、FileZilla Server(FTP) と MercuryMail の二つはフォルダのみあるだけで後からインストールするようになっています。 FileZilla Server(FTP) のダウンロードとインストール FileZilla - The free FTP solution よりダウンロードします。( 2018/03/31 時点で FileZilla_Server-0_9_60_2.exe ) XAMPP の xampp-control.exe より管理できるように、FileZillaFTP フォルダの中に FileZilla Server.exe が存在するようにインスールする必要があるので、インストール時にそのようになるようにフォルダを調整します。 また、XAMPP より起動するのでサービスには登録しません。 この後、FileZilla Server Interface.exe が実行されて、ダイアログが開くのでパスワードを入力します この時点で は FileZilla Server は実行中なので、タスクマネージャから終了させます。 xampp-control.exe の設定 xampp-control.exe は管理者権限で実行する必要があるので、エクスプローラから右クリックしてプロパティの『互換性』タブで管理者として実行するチェックを ON にします。 さらに、xampp-control.exe を実行して構成で保管すると xampp-control.ini が現在の状態で書き込まれるので、初めて xampp-control.exe を実行する場合は xampp-control.ini を現在の状態で作成してください。 その後、終了させる為に必ず終了ボタンをクリックして下さい( x ボタンでは終了しません / タスクバーに存在します ) そして xampp-control.ini を開いて [BinaryNames] セクションの FileZilla と FileZillaAdmin を以下のように書き換えて下さい[BinaryNames] FileZilla=FileZilla Server.exe FileZillaAdmin=FileZilla Server Interface.exexampp-control.exe を実行して確認 xampp-control.exe を実行すると以下のようになります。 そして、開始ボタンをクリックします。 FileZilla Server の設定 xampp-control より管理ボタンをクリックします。 ▼ Edit => Settings( パスワードの再設定 ) / ※ 必要ならば再設定します FTP のクライアントから接続できるように設定を行います。 ▼ Edit => Groups( グループの作成 ) ▼ Edit => Users( ユーザの作成とホームディレクトリの登録 ) Set as home dir ボタンをクリックして、フォルダの左に H アイコンが表示されるようにします。 関連する記事 ◆ Pleiades Eclipse 4.7 Oxygen 2 Windows 64bit Ultimate Full Edition のインストールといろいろな準備 ◆ Pleiades Oxygen 2 の XAMPP 内の MySQL を利用可能にしてテストデータ(販売管理)を登録する ◆ Pleiades Eclipse 4.7 Oxygen で Python を使って MySQL にアクセスする
2018年03月31日
Pleiades Oxygen 2 の XAMPP 内の FileZilla Server をインストールして使用する
2018年03月28日
Oracle に学習用DB の 販売管理C.mdb をインポートする
かなり昔に作成したものを引っ張り出して来ています。Oracle 環境も 32 ビット環境なので、64ビットマシンで 32 ビット環境を動かす為、ODBC ドライバや cscript.exe も32ビットを使用する必要があります。 1) 32ビット用 ODBC アドミニストレーター : C:\Windows\SysWOW64\odbcad32.exe 2) 32ビット用 ドライバ一覧 : HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI 3) 32ビット用 cscript.exe(VBScript用) : C:\Windows\SysWOW64\cscript.exe (64ビット環境では特に気にせず見えているもので実行できると思います) これらの環境を使ってインポートするセットが以下からダウンロードできます。 同梱の hanbaic.bat を実行する前にスクリプトの環境部分を書き換えます。 インストール結果 関連する記事 Oracle 11g 学習環境の作成 : SQLPlus の環境作成 Oracle SQLPlus でスキーマの作成 hanbaiC_oracle11g_nvarchar.vbs 1) ODBC ドライバ : Oracle in OraDb11g_home1 32ビット用 ドライバ一覧より自分の環境に該当するものを使用します。 2) 接続文字列 : lightbox-pc:1521/ORCL PC名:ポート/サービス名 です。PCとポート は、"C:\app\%USERNAME%\product\11.1.0\db_1\NETWORK\ADMIN\listener.ora" を参照します。 ( Oracle がインストールされているフォルダの product\バージョン\db_n\NETWORK\ADMIN\listener.ora )
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = lightbox-PC)(PORT = 1521)) ) )
3) strSc = "lightbox" の lightbox は作成済みのスキーマ(ユーザ)名です
' ************************************************ ' 管理者権限でコマンドプロンプトで実行を強制して、 ' 最後に pause する ' ************************************************ Set Shell = CreateObject("Shell.Application") Set WshShell = Wscript.CreateObject("WScript.Shell") if Wscript.Arguments.Count = 0 then ScriptFullName = WScript.ScriptFullName Shell.ShellExecute "cmd.exe", "/c cscript.exe """ & ScriptFullName & """ dummy_param & pause", "", "runas", 1 WScript.Quit end if ' ************************************************ ' 基本設定 ' Microsoft ODBC for Oracle で実行できます ' DSN を作成して動作確認して指定して下さい ' ( 参考:http://lightbox.matrix.jp/ginpro/patio.cgi?mode=view&no=225&type=ref ) ' ************************************************ ' このスクリプトが存在するディレクトリを取得 strCurDir = WScript.ScriptFullName strCurDir = Replace( strCurDir, WScript.ScriptName, "" ) strMdbPath = strCurDir & "販売管理C.mdb" ' Oracle のホスト文字列 ' ( ローカル・ネット・サービス名 ) strTarget = "{Oracle in OraDb11g_home1}" ' ODBC ドライバ strDBQ = "lightbox-pc:1521/ORCL" ' ネット・サービス名として XE のみでも OK ' スキーマ(ユーザ) strSc = "lightbox" ' パスワード strPwd = InputBox("パスワードを入力して下さい") strDummy = "DUMMY" & Replace(Date,"/","") & Replace(Time,":","") strMessage = "対象 MDB は " & strMdbPath & "です" & vbCrLf & vbCrLf strMessage = strMessage & "▼ Oracleの環境です" & vbCrLf strMessage = strMessage & "ODBC ドライバ : " & strTarget & vbCrLf strMessage = strMessage & "インスタンス : " & strDBQ & vbCrLf strMessage = strMessage & "USER(スキーマ) : " & strSc & vbCrLf strMessage = strMessage & "PASS : " & strPwd & vbCrLf & vbCrLf strMessage = strMessage & "一時テーブル : " & strDummy & vbCrLf & vbCrLf strMessage = strMessage & "既にテーブルが存在する場合はメッセージが出ません" & vbCrLf strMessage = strMessage & "それ以外ではエラーメッセージが出ますが、問題ありません" if vbCancel = MsgBox( strMessage, vbOkCancel ) then Wscript.Quit end if ' ************************************************ ' 処理用文字列設定 ' ************************************************ ' MDB の接続文字列 strConnectMdb = _ "Provider=Microsoft.ACE.OLEDB.12.0;" & _ "Data Source=" & strMdbPath & ";" ' Microsoft の Oracle 用 ODBC ドライバの接続文字列 (1) strConnectOracle = _ "[ODBC;Driver=" & strTarget & ";DBQ=" & strDBQ &";UID=" & strSc & ";PWD=" & strPwd & "]" ' Microsoft の Oracle 用 ODBC ドライバの接続文字列 (2) strConnectOracle2 = _ "Provider=MSDASQL;Driver=" & strTarget & ";DBQ=" & strDBQ &";UID=" & strSc & ";PWD=" & strPwd ' ************************************************ ' 初期処理 ' ************************************************ Set Cn = CreateObject("ADODB.Connection") Set Cn2 = CreateObject("ADODB.Connection") Cn.Open strConnectMdb Cn2.Open strConnectOracle2 ' ************************************************ ' コード名称マスタ ' ************************************************ Query = _ "create table " & strDummy & " (" & _ " 区分 NUMBER(4,0)" & _ " ,コード NVARCHAR2(10)" & _ " ,名称 NVARCHAR2(50)" & _ " ,数値1 NUMBER(8,0)" & _ " ,数値2 NUMBER" & _ " ,作成日 DATE" & _ " ,更新日 DATE" & _ " ,primary key(区分,コード)" & _ ")" Call OracleTransfer( "コード名称マスタ", "[コード名称マスタ]", Query ) ' ************************************************ ' コントロールマスタ ' ************************************************ Query = _ "create table " & strDummy & " (" & _ " キー NVARCHAR2(1)" & _ " ,売上日付 DATE" & _ " ,売上伝票 NUMBER(8,0)" & _ " ,会社名 NVARCHAR2(50)" & _ " ,組織コード NVARCHAR2(4)" & _ " ,起算月 NUMBER(2,0)" & _ " ,primary key(キー)" & _ ")" Call OracleTransfer( "コントロールマスタ","[コントロールマスタ]", Query ) ' ************************************************ ' メッセージマスタ ' ************************************************ Query = _ "create table " & strDummy & " (" & _ " コード NVARCHAR2(4)" & _ " ,メッセージ NVARCHAR2(100)" & _ " ,primary key(コード)" & _ ")" Call OracleTransfer( "メッセージマスタ","[メッセージマスタ]", Query ) ' ************************************************ ' 取引データ ' ************************************************ Query = _ "create table " & strDummy & " (" & _ " 取引区分 NVARCHAR2(2)" & _ " ,伝票番号 NUMBER(8,0)" & _ " ,行 NUMBER(2,0)" & _ " ,取引日付 DATE" & _ " ,取引先コード NVARCHAR2(4)" & _ " ,商品コード NVARCHAR2(4)" & _ " ,数量 NUMBER" & _ " ,単価 NUMBER" & _ " ,金額 NUMBER" & _ " ,更新済 NVARCHAR2(1)" & _ " ,primary key(取引区分,伝票番号,行)" & _ ")" Call OracleTransfer( "取引データ","[取引データ]", Query ) ' ************************************************ ' 商品マスタ ' ************************************************ Query = _ "create table " & strDummy & " (" & _ " 商品コード NVARCHAR2(4)" & _ " ,商品名 NVARCHAR2(50)" & _ " ,在庫評価単価 NUMBER" & _ " ,販売単価 NUMBER" & _ " ,商品分類 NVARCHAR2(3)" & _ " ,商品区分 NVARCHAR2(1)" & _ " ,作成日 DATE" & _ " ,更新日 DATE" & _ " ,備考 NVARCHAR2(2000)" & _ " ,削除フラグ NVARCHAR2(1)" & _ " ,primary key(商品コード)" & _ ")" Call OracleTransfer( "商品マスタ","[商品マスタ]", Query ) ' ************************************************ ' 商品分類マスタ ' ************************************************ Query = _ "create table " & strDummy & " (" & _ " 商品分類 NVARCHAR2(3)" & _ " ,名称 NVARCHAR2(50)" & _ " ,作成日 DATE" & _ " ,更新日 DATE" & _ " ,primary key(商品分類)" & _ ")" Call OracleTransfer( "商品分類マスタ","[商品分類マスタ]", Query ) ' ************************************************ ' 得意先マスタ ' ************************************************ Query = _ "create table " & strDummy & " (" & _ " 得意先コード NVARCHAR2(4)" & _ " ,得意先名 NVARCHAR2(50)" & _ " ,得意先区分 NVARCHAR2(1)" & _ " ,担当者 NVARCHAR2(4)" & _ " ,郵便番号 NVARCHAR2(7)" & _ " ,住所1 NVARCHAR2(100)" & _ " ,住所2 NVARCHAR2(100)" & _ " ,作成日 DATE" & _ " ,更新日 DATE" & _ " ,締日 NUMBER(2,0)" & _ " ,締日区分 NUMBER(1,0)" & _ " ,支払日 NUMBER(2,0)" & _ " ,備考 NVARCHAR2(100)" & _ " ,primary key(得意先コード)" & _ ")" Call OracleTransfer( "得意先マスタ","[得意先マスタ]", Query ) ' ************************************************ ' 社員マスタ ' ************************************************ Query = _ "create table " & strDummy & " (" & _ " 社員コード NVARCHAR2(4)" & _ " ,氏名 NVARCHAR2(50)" & _ " ,フリガナ NVARCHAR2(50)" & _ " ,所属 NVARCHAR2(4)" & _ " ,性別 NUMBER(1,0)" & _ " ,作成日 DATE" & _ " ,更新日 DATE" & _ " ,給与 NUMBER" & _ " ,手当 NUMBER" & _ " ,管理者 NVARCHAR2(4)" & _ " ,生年月日 DATE" & _ " ,primary key(社員コード)" & _ ")" Call OracleTransfer( "社員マスタ","[社員マスタ]", Query ) ' ************************************************ ' 郵便番号マスタ ' ************************************************ Query = _ "create table " & strDummy & " (" & _ " 郵便番号 NVARCHAR2(7)" & _ " ,都道府県名カナ NVARCHAR2(255)" & _ " ,市区町村名カナ NVARCHAR2(255)" & _ " ,町域名カナ NVARCHAR2(255)" & _ " ,都道府県名 NVARCHAR2(255)" & _ " ,市区町村名 NVARCHAR2(255)" & _ " ,町域名 NVARCHAR2(255)" & _ ")" Call OracleTransfer( "郵便番号マスタ","[郵便番号マスタ]", Query ) ' ************************************************ ' 入金予定データ ' ************************************************ Query = _ "create table " & strDummy & " (" & _ " 得意先コード NVARCHAR2(4)" & _ " ,支払日 DATE" & _ " ,伝票合計金額 NUMBER(10,0)" & _ " ,伝票番号 NUMBER(10,0)" & _ ")" Call OracleTransfer( "入金予定データ","[入金予定データ]", Query ) ' ************************************************ ' 商品集計 ' ************************************************ Query = _ "create table " & strDummy & " (" & _ " 商品コード NVARCHAR2(4)" & _ " ,経過月 NUMBER(2,0)" & _ " ,当月売上数量 NUMBER(10,0)" & _ " ,当月売上金額 NUMBER(10,0)" & _ " ,更新日 DATE" & _ " ,組織コード NVARCHAR2(4)" & _ " ,primary key(商品コード,経過月)" & _ ")" Call OracleTransfer( "商品集計","[商品集計]", Query ) ' ************************************************ ' 得意先集計 ' ************************************************ Query = _ "create table " & strDummy & " (" & _ " 請求先 NVARCHAR2(4)" & _ " ,経過月 NUMBER(2,0)" & _ " ,当月売上金額 NUMBER(10,0)" & _ " ,更新日 DATE" & _ " ,組織コード NVARCHAR2(4)" & _ " ,primary key(請求先,経過月)" & _ ")" Call OracleTransfer( "得意先集計","[得意先集計]", Query ) ' ************************************************ ' 社員変更履歴 ' ************************************************ Query = _ "create table " & strDummy & " (" & _ " 社員コード NVARCHAR2(4)" & _ " ,氏名 NVARCHAR2(50)" & _ " ,フリガナ NVARCHAR2(50)" & _ " ,所属 NVARCHAR2(4)" & _ " ,性別 NUMBER(1,0)" & _ " ,作成日 DATE" & _ " ,更新日 DATE" & _ " ,給与 NUMBER" & _ " ,手当 NUMBER" & _ " ,管理者 NVARCHAR2(4)" & _ " ,生年月日 DATE" & _ ")" Call OracleTransfer( "社員変更履歴","[社員変更履歴]", Query ) ' ************************************************ ' ビュー ' ************************************************ Query = _ "create or replace view V_商品一覧 as" & _ " SELECT 商品マスタ.商品コード" & _ " , 商品マスタ.商品名" & _ " , 商品マスタ.販売単価" & _ " , 商品分類マスタ.商品分類" & _ " , 商品分類マスタ.名称 AS 分類名" & _ " , 商品マスタ.商品区分" & _ " , コード名称マスタ.名称 AS 区分名" & _ " from" & _ " (商品マスタ LEFT JOIN 商品分類マスタ" & _ " ON 商品マスタ.商品分類 = 商品分類マスタ.商品分類" & _ " ) LEFT JOIN コード名称マスタ" & _ " ON 商品マスタ.商品区分 = コード名称マスタ.コード" & _ " where" & _ " コード名称マスタ.区分 = 3 and 削除フラグ is NULL" RunOracle( Query ) Query = _ "create or replace view V_売上日付 as" & _ " SELECT コントロールマスタ.売上日付" & _ " FROM コントロールマスタ" & _ " WHERE コントロールマスタ.キー = '1'" RunOracle( Query ) Query = _ "create or replace view V_得意先台帳 as" & _ " SELECT 取引データ.取引先コード" & _ " , 得意先マスタ.得意先名" & _ " , 取引データ.取引日付" & _ " , 取引データ.取引区分" & _ " , 取引データ.伝票番号" & _ " , 取引データ.行" & _ " , 取引データ.商品コード" & _ " , 商品マスタ.商品名" & _ " , 取引データ.数量" & _ " , 取引データ.単価" & _ " , 取引データ.金額" & _ " from" & _ " (取引データ INNER JOIN 商品マスタ" & _ " ON 取引データ.商品コード=商品マスタ.商品コード" & _ " ) INNER JOIN 得意先マスタ" & _ " ON 取引データ.取引先コード=得意先マスタ.得意先コード" & _ " where" & _ " 取引データ.取引区分 = '10'" RunOracle( Query ) Query = _ "create or replace view V_社員一覧 as" & _ " select 社員コード" & _ " ,氏名" & _ " ,フリガナ" & _ " ,名称1.名称 as 性別" & _ " ,所属" & _ " ,名称2.名称 as 所属名" & _ " from 社員マスタ" & _ " ,コード名称マスタ 名称1" & _ " ,コード名称マスタ 名称2" & _ " where to_char(性別) = 名称1.コード" & _ " and 名称1.区分 = 1" & _ " and 所属 = 名称2.コード" & _ " and 名称2.区分 = 2" RunOracle( Query ) Query = _ "create or replace view" & _ " PROC_ERROR" & _ " as" & _ " select * " & _ " from USER_ERRORS" RunOracle( Query ) Query = _ "create or replace view" & _ " PROC_LIST" & _ " as" & _ " select OBJECT_NAME as ""プロシージャ名"" " & _ " ,STATUS as ""状態"" " & _ " ,OBJECT_TYPE as ""タイプ"" " & _ " ,CREATED as ""作成日"" " & _ " ,LAST_DDL_TIME as ""更新日"" " & _ " from USER_OBJECTS " & _ " where OBJECT_TYPE in ('FUNCTION','PROCEDURE') " RunOracle( Query ) Query = _ "create or replace view" & _ " PROC_TEXT" & _ " as" & _ " select * from USER_SOURCE" RunOracle( Query ) ' ************************************************ ' 終了 ' ************************************************ Cn2.Close Cn.Close Wscript.Echo "処理が終了しました" ' ************************************************ ' Oracle 転送 ' ************************************************ function OracleTransfer( strTarget, strTable, QueryCreate ) Dim Query Query = "drop table " & strTarget RunOracle( Query ) RunOracle( QueryCreate ) Query = "insert into " & strConnectOracle & "." & strDummy & _ " select * from " & strTable RunMdb( Query ) Query = "alter table " & strDummy & " rename to " & strTarget RunOracle( Query ) end function ' ************************************************ ' MDB 実行 ' ************************************************ function RunMdb( Query ) on error resume next Cn.Execute Query if Err.Number <> 0then Wscript.Echo Err.Description & vbCrLf & Query end if on error goto 0 end function ' ************************************************ ' Oracle 実行 ' ************************************************ function RunOracle( Query ) on error resume next Cn2.Execute Query if Err.Number <> 0then Wscript.Echo Err.Description & vbCrLf & Query end if on error goto 0 end function
2018年03月26日
Pleiades Oxygen : Python と Ruby のパースペクティブでワークスペースを開いて最初に現れる『RemoteSystemsTempFiles』を削除する
PYTHONPATH も最初に毎回開きます。これは一回限りなのでかまわないのですが、RemoteSystemsTempFiles は普通に削除しても復活してしまいます。 一般 => 開始およびシャットダウン => RSE UI をオフ その後、RemoteSystemsTempFiles を右クリックして『削除』の後表示されるダイアログで、『ディスク上からプロジェクト・コンテンツを削除』をチェックして削除。 ( しかし、ワークスペースを開いた後、設定のリモート・システムをクリックすると再び出現する(謎) ) 関連する情報 What is RemoteSystemsTempFiles in Eclipse? 関連する記事 Pleiades Eclipse 4.7 Oxygen 2 Windows 64bit Ultimate Full Edition のインストールといろいろな準備
2018年03月11日
Python 3.4 : インストールと最初にする事( Windows )
mysql-connector-python-2.1.7-py3.4-windows-x86-64bit.msi が一応、3.4 用なので。 Download Python から最新版をダウンロードしてインストールします。PATH 環境変数には登録されないので、自分で登録します。拡張子に対する定義は済まされています コマンドプロンプトのインタープリタ(Python.exe)を、好きな場所のコマンドプロンプトで実行したい場合にのみ、PATH 環境変数に登録するといいと思いますが、バッチ処理を .bat から呼び出したいと思っているのなら、必ず登録します。 ソースコードは、UTF8Nで作成して実行しましたが、SHIFT_JIS のコマンドプロンプトには、きちんと日本語が表示されます。 0001.py ( utf8n )
import sys # print([object, ...][, sep=' '][, end='\n'][, file=sys.stdout]) # 改行を出力しない print("日本語表示", end="") print("ソースは UTF8N", end="") print("コマンドプロンプトはSHIFT_JIS", end="\n") # デフォルトは改行表示 print("日本語表示") # 標準エラー出力 print("エラー", file=sys.stderr) str = "PATH環境変数は設定されません" print("インストールで", str, sep="")
※ print関数は、カンマでつなげると連結されます ※ その際のセパレータを sep='' で指定します。この例は空文字 ( つまり二つの文字列は連結されます ) ※ import sys しないと、sys.stdout とか、sys.stderr とか動きません ※ sys.stdout と sys.stderr はリダイレクト先。 ※ コマンドプロンプトから 0001.py 2> test.txt で、"エラー" は test.txt の中 ※ 改行させずに、次の出力と連結させるには、end="" ※ sep= 、end= 、file= とかは、浮動パラメータで、順序は関係ありません ※ 最初の object, ... は、定置バラメータでその位置でのみ使えます ※ sys. は、Python マニュアルの sys (module) キーワードで参照
Python3.x : URL を読み出す( bytes から string )
response.read() で、バイナリとして読み込んで適宜デコードして使用するようです。サンプルは、『HOWTO Fetch Internet Resources Using The urllib Package』にあります。0002.py ( utf8n )
import urllib.request # response は、これ専用の単純なストリームになるようで、 # readline() が使えます try: response = urllib.request.urlopen('https://lightbox.sakura.ne.jp/demo/syain-sjis.csv') except urllib.error.URLError as e: print(e) exit() text = response.read() # その他のメソッド # info は、サーバーからの http ヘッダ print( response.info(), response.geturl() ) # そのまま print すると、b'..........' という bytes 表現になります # sjis.htm は、shift_jis なので、decode("shift_jis") #print( text ) print( text.decode("shift_jis") )
mk:@MSITStore:C:\user\py\Doc\python360.chm::/howto/urllib2.html mk:@MSITStore:C:\user\py\Doc\python360.chm::/library/stdtypes.html#bytes.decode
上のパスは、windows にインストールされた chm を IE で見る為のものです(右クリックからプロパティで取れます)
Windows10(Pro) でグループポリシーエディタを実行して、Cortana を無効にする(許可しない)
グループポリシーエディタは、『ファイル名を指定して実行』から『Gpedit.msc』で実行できますが、エクスプローラの PC のプロパティでコントロールパネルウインドウを表示して、右上のフィールドで『グループ』と入力して検索します。
そうすると、『管理ツール』の下に『グループポリシーエディタ』へのリンクが現れます。
これをクリックして実行して以下のポリシーで、Cortana を許可しない設定にします。( Cortana を許可するを無効にする )
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。 Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。 また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。 ※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです 対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。 ※ エキスパートモードで表示しています アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります<% if:page_name eq 'archive' -%> アーカイブページでのみ表示される内容 <% /if %> <% if:page_name eq 'category' -%> カテゴリページでのみ表示される内容 <% /if %> <% if:page_name eq 'tag' -%> タグページでのみ表示される内容 <% /if %>この記述は、以下の場所で使用します
|