tomk79/px2-sitemapexcel

该软件包已被废弃,不再维护。作者建议使用 pickles2/px2-sitemapexcel 软件包。

Pickles 2 新增功能,可以以图形化Excel格式(xlsx)编辑网站地图。

2.2.0 2022-01-08 09:21 UTC

README

Linux Windows
master 68747470733a2f2f7365637572652e7472617669732d63692e6f72672f7069636b6c6573322f7078322d736974656d6170657863656c2e7376673f6272616e63683d6d6173746572 68747470733a2f2f63692e6170707665796f722e636f6d2f6170692f70726f6a656374732f7374617475732f65707265393167386971666a6e6930382f6272616e63682f6d61737465723f7376673d74727565
develop 68747470733a2f2f7365637572652e7472617669732d63692e6f72672f7069636b6c6573322f7078322d736974656d6170657863656c2e7376673f6272616e63683d646576656c6f70 68747470733a2f2f63692e6170707665796f722e636f6d2f6170692f70726f6a656374732f7374617475732f65707265393167386971666a6e6930382f6272616e63682f646576656c6f703f7376673d74727565

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 的计算公式来使用单元格值。
  • *.xlsxA1 单元格中记录了网站地图的设置。
    • 设置示例: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

开发者信息 - for Developer

测试 - Test

$ php ./vendor/phpunit/phpunit/phpunit