tomk79 / px2-sitemapexcel
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 为例创建 Excel 文件。
将编辑后的文件放置在您的 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转换时,减少了消耗的内存量。
- 修正了当title列的右侧列有值时,会被解释为别名的错误。
pickles2/px2-sitemapexcel v2.0.7 (2017年5月29日)
- 在CSV的标准规范中添加了code_type。
- 添加了插件选项code_master_format和code_files_master_format。
- 更改了xlsx -> csv转换时自动生成的页面ID的命名规则。
- 当xlsx文件中有code_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列。
tomk79/px2-sitemapexcel v2.0.2 (2015年8月7日)
- 当简易表表达的扉页设置了category_top_flg时,仅对最高级别的别名进行设置,并删除下层标志。
tomk79/pickles-sitemap-excel-2 v2.0.1 (2015年3月19日)
- 当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许可证
作者 - Author
- Tomoya Koyanagi tomk79@gmail.com
- 网站: https://www.pxt.jp/
- 推特: @tomk79 https://twitter.com/tomk79/
开发者信息 - for Developer
测试 - Test
$ php ./vendor/phpunit/phpunit/phpunit