tomk79 / pickles-sitemap-excel-2
Pickles 2 添加了功能,可以以图形化的 Excel 格式(xlsx)编辑网站地图。
Requires
- php: >=7.3
- phpoffice/phpspreadsheet: ^1.13
- tomk79/filesystem: ^1.0
Requires (Dev)
- phpunit/phpunit: ~9.5
- pickles2/px-fw-2.x: ^2.1
README
Linux | Windows | |
---|---|---|
master |
|
|
develop |
|
|
pickles2/px2-sitemapexcel 是一个插件,可以将 Pickles 2 的网站地图以 Excel 格式(*.xlsx)编辑。
Pickles 2 的原始网站地图是使用 CSV 格式编写的。CSV 是最简单和基本的数据格式之一,对于计算机来说易于处理,但对于人类编辑来说可能不方便。通过使用此插件,可以更直观地以图形化的 Excel 格式(*.xlsx)进行编辑。
- 可以直接读取 Excel 格式(*.xlsx)的网站地图文件。
- 更新 *.xlsx 后,将在下一次访问时自动读取,并覆盖 *.csv 的内容。
- 如果更新了 *.csv,则反过来,*.xlsx 将被覆盖。以时间戳较新的为准,较旧的内容将被覆盖。
- 此行为可以通过 master_format 和 files_master_format 选项进行更改。
- 可以使用视觉化的层次结构来表示页面的层次结构(logical_path)。
- 使用 Excel 的颜色单元格或文本装饰等功能来编排漂亮的表格。
- 可以使用 Excel 的计算公式来使用单元格值。
- 在 *.xlsx 的 A1 单元格中,记录了网站地图的设置。
- 设置示例:
row_definition=8&row_data_start=9&skip_empty_col=20&version=2.0.5
- row_definition:定义行号
- row_data_start:数据行开始行号
- skip_empty_col:如果定义行有值,则读取的列数
- version:生成此 *.xlsx 文件的 pickles2/px2-sitemapexcel 的版本号
- 设置示例:
- 如果找到 A 列中的字符串
EndOfData
,则不会扫描其下方的行。可以自由地添加注释栏或安装页面计数器等。 - 将扩展列
**delete_flg
设置为1
,则不会输出到 CSV。 - 使用第一张工作表。不读取第二张工作表及以后的工作表。
使用 phpoffice/phpexcel 进行 Excel 文件的操作。
※从 pickles-sitemap-excel-2 改名为 px2-sitemapexcel。
导入步骤 - Setup
1. 在 composer.json 中添加 pickles2/px2-sitemapexcel
在 "require" 项中添加 "pickles2/px2-sitemapexcel"。
$ composer require pickles2/px2-sitemapexcel;
2. 在 config.php 中添加功能
编辑配置文件 config.php(通常为 ./px-files/config.php)。在 before_sitemap
的某个位置(例如最后)添加 tomk79\pickles2\sitemap_excel\pickles_sitemap_excel::exec
。
<?php /* 中略 */ // funcs: Before sitemap $conf->funcs->before_sitemap = [ // PX=config 'picklesFramework2\commands\config::register' , // PX=phpinfo 'picklesFramework2\commands\phpinfo::register' , // PX=clearcache 'picklesFramework2\commands\clearcache::register' , // sitemapExcel 'tomk79\pickles2\sitemap_excel\pickles_sitemap_excel::exec' ];
如果正在使用 JSON 格式编辑 Pickles 2 的设置,请添加到 config.json 的相应部分。
3. 设置网站地图目录的权限
在 macOS 或 Linux 系统中可能需要此操作。
$ cd {$documentRoot} $ chmod -R 777 ./px-files/sitemaps
4. 在网站地图目录中设置 sitemap.xlsx
请根据此存储库中提供的 sitemap.xlsx 生成示例。
编辑后的文件应放置在您的 Pickles 2 网站地图目录(通常为 ./px-files/sitemaps/)中。下次在浏览器中访问时,将自动更新同名的 CSV 文件(例如,如果是 sitemap.xlsx,则更新为 sitemap.csv)。之后,每次 Excel 的时间戳更新时,CSV 文件也将自动更新。
相反,如果 CSV 文件比 XLSX 文件新,则 XLSX 文件将根据 CSV 文件的内容更新。
选项 - Options
<?php // funcs: Before sitemap $conf->funcs->before_sitemap = [ // sitemapExcel 'tomk79\pickles2\sitemap_excel\pickles_sitemap_excel::exec('.json_encode(array( // `master_format` // マスターにするファイルフォーマットを指定します。 // - `timestamp` = タイムスタンプが新しい方をマスターにする(デフォルト) // - `xlsx` = XLSXをマスターにする // - `csv` = CSVをマスターにする // - `pass` = 変換しない // のいずれかを指定します。 'master_format'=>'timestamp', // `files_master_format` // ファイル名ごとにマスターにするファイルフォーマットを指定します。 // ここに設定されていないファイルは、 `master_format` の設定に従います。 'files_master_format'=>array( 'timestamp_sitemap'=>'timestamp', 'csv_master_sitemap'=>'csv', 'xlsx_master_sitemap'=>'xlsx', 'no_convert'=>'pass', ) )).')' ];
更新日志 - Change log
pickles2/px2-sitemapexcel v2.2.0 (2022年1月8日)
- 将支持的 PHP 版本更改为 >=7.3.0。
- 支持 PHP 8.1。
pickles2/px2-sitemapexcel v2.1.0 (2020年6月21日)
- 将 Excel 文件解析库从 PHPExcel 迁移到 PhpSpreadsheet。
- 根据 PhpSpreadsheet 更新系统要求。PHP 7.1.x 以下不再受支持,并添加了一些 PHP 扩展作为要求。
pickles2/px2-sitemapexcel v2.0.12 (2020年6月21日)
- PHP 7.4 環境で PHPExcel が出す Warning を非表示にした。
pickles2/px2-sitemapexcel v2.0.11 (2019年5月21日)
- セルのフォーマットが標準型や文字列型以外の場合、前後の空白文字を削除するようになった。
pickles2/px2-sitemapexcel v2.0.10 (2019年4月19日)
- 更新が必要かどうかを確認してからロックするようになった。
- CSVからXLSXへの変換時にdataスキーマを扱えるようになった。
- CSVからXLSXへの変換時に、サイトマップツリーが正常に構成されていないページを、各リストの末尾に追加するようになった。
pickles2/px2-sitemapexcel v2.0.9 (2019年1月11日)
- lockファイルの生成処理を改善した。
- xlsm拡張子のファイルを読み込めるようになった。
pickles2/px2-sitemapexcel v2.0.8 (2017年9月14日)
- xlsxからcsvへの変換時に消費するメモリ量を削減するように修正した。
- タイトル列のすぐ右の列に値が入っている場合、エイリアスとして解釈されてしまう不具合を修正。
pickles2/px2-sitemapexcel v2.0.7 (2017年5月29日)
- CSVの標準仕様にproc_typeを追加。
- プラグインオプションmaster_format、files_master_formatを追加。
- xlsxからcsvへの変換時に自動生成されるページIDの命名規則を変更。
- xlsxファイルにlogical_path列がある場合、この値を優先して適用するようになった。
pickles2/px2-sitemapexcel v2.0.6 (2016年10月20日)
- サイトマップ形式変換中にプロセスをロックするようになった。
pickles2/px2-sitemapexcel v2.0.5 (2016年8月24日)
- 日付やパーセントなどの特殊なセルフォーマットが設定されたセルで、可能な限りフォーマットが適用された値で置き換えるようになった。
- サイトマップCSVにhttp://〜〜、//〜〜が含まれているときに、xlsxへの正常な変換ができなかった不具合を修正。
- サイトマップXLSXにhttp://〜〜/、//〜〜/が含まれているとき、csvへの変換時にindex.htmlが付加されてしまう不具合を修正。
- サイトマップからIDの登録エラーを検出した際に異常終了する不具合を修正。
pickles2/px2-sitemapexcel v2.0.4 (2016年7月27日)
- LibreOffice形式の一時ファイルをスキップするようになった。
- role列に対応。
pickles2/px2-sitemapexcel v2.0.3 (2016年2月9日)
- 簡単表現された扉ページにcategory_top_flgがセットされていた場合、最上位のエイリアスにのみ設定し、下層のフラグは削除するようになった。
tomk79/px2-sitemapexcel v2.0.2 (2015年8月7日)
- path、titleともに空白の行を見つけた場合、終了せずにスキップして次を探すようになった。
- export時に、sitemap.csvに定義したカスタム列が捨てられてしまう不具合を修正。
tomk79/pickles-sitemap-excel-2 v2.0.1 (2015年3月19日)
- タイムゾーンの設定がされていない場合に、エラーが出力されないように制御。
tomk79/pickles-sitemap-excel-2 v2.0.0 (2014年12月24日)
- 初版リリース。
ライセンス - License
MIT License
作者 - Author
- Tomoya Koyanagi tomk79@gmail.com
- ウェブサイト: https://www.pxt.jp/
- Twitter: @tomk79 https://twitter.com/tomk79/
開発者向け情報 - for Developer
テスト - Test
$ php ./vendor/phpunit/phpunit/phpunit