pickles2 / px2-sitemapexcel
为Pickles 2添加了以图形化Excel格式(xlsx)编辑网站地图的功能。
Requires
- php: >=7.3
- phpoffice/phpspreadsheet: ^2.2||^1.13
- tomk79/filesystem: ^1.0
Requires (Dev)
- phpunit/phpunit: ~9.5
- pickles2/px-fw-2.x: ~2.1
README
pickles2/px2-sitemapexcel 是一个插件,可以将Pickles 2的网站地图编辑为Excel格式(*.xlsx)。
原本的Pickles 2网站地图是使用CSV格式编写的。CSV是最简单、最基本的数据格式之一,计算机处理起来方便,但对于人来说编辑起来不太方便。通过安装此插件,可以更直观地以图形化Excel格式(*.xlsx)进行编辑。
- 可以直接读取Excel格式的网站地图文件。
- 更新*.xlsx后,在下次访问时将自动读取,并覆盖*.csv的内容。
- 如果更新了*.csv,则反过来会覆盖*.xlsx。以时间戳较新的一方为准,较旧的一方被覆盖。
- 此行为可以通过
master_format
选项和files_master_format
选项进行更改。
- 可以以可视化的层次结构表示页面的层次结构。
- 可以使用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中输出。 - 使用第一张工作表。不读取第二张以上的工作表。
在操作Excel文件时,使用phpoffice/phpexcel。
※从pickles-sitemap-excel-2更名至px2-sitemapexcel。
导入步骤 - 设置
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
的相应位置添加。
设置网站地图目录的权限
在某些情况下,macOS或Linux系统可能需要此操作。
$ cd {$documentRoot} $ chmod -R 777 ./px-files/sitemaps
在网站地图目录中放置sitemap.xlsx
请以此存储库中包含的sitemap.xlsx为样本创建Excel文件。
编辑的文件应放在您的Pickles 2网站地图目录中(通常是./px-files/sitemaps/
)。下次通过浏览器访问时,将自动更新同名CSV文件(如果为sitemap.xlsx,则为sitemap.csv)。之后,每当Excel的时间戳更新时,CSV文件也会自动更新。
相反,如果CSV文件比XLSX文件新,则XLSX文件将根据CSV文件的内容进行更新。
选项 - 选项
<?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', ), // `files_master_format_blogs` // ブログファイル名ごとにマスターにするファイルフォーマットを指定します。 // ここに設定されていないファイルは、 `master_format` の設定に従います。 'files_master_format_blogs'=>array( 'timestamp_sitemap'=>'timestamp', 'csv_master_sitemap'=>'csv', 'xlsx_master_sitemap'=>'xlsx', 'no_convert'=>'pass', ), )).')' ];
更新日志 - 变更日志
pickles2/px2-sitemapexcel v2.3.3 (2024年9月10日)
- 更新了依赖的包。
pickles2/px2-sitemapexcel v2.3.2 (2024年2月18日)
- 同包含的插件现在可以使用更直接的表达方式进行设置。
pickles2/px2-sitemapexcel v2.3.1 (2023年11月13日)
- 对性能进行了改进。
pickles2/px2-sitemapexcel v2.3.0 (2023年4月22日)
- 支持博客地图的转换。
- 添加了选项
files_master_format_blogs
。 - 修复了生成xlsx文件时单元格中不显示边框的问题。
xlsx2csv
现在不再输出**delete_flg
列。- 其他内部代码修正。
pickles2/px2-sitemapexcel v2.2.2 (2023年3月11日)
- 对内部代码进行了微小修正。
pickles2/px2-sitemapexcel v2.2.1 (2023年2月11日)
- 对内部代码进行了微小修正。
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时,只有在确认需要更新后才进行锁定。
- 在将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列都为空行时,现在不会终止,而是跳过并查找下一行。
- 修复了在导出时,定义在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许可证
作者 - Author
- Tomoya Koyanagi tomk79@gmail.com
- 网站: https://www.pxt.jp/
- Twitter: @tomk79 https://twitter.com/tomk79/
开发者信息 - for Developer
测试 - Test
$ php ./vendor/phpunit/phpunit/phpunit