tomk79/pickles-sitemap-excel-2

该包已被废弃,不再维护。作者建议使用 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 的计算公式来使用单元格值。
  • 在 *.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

開発者向け情報 - for Developer

テスト - Test

$ php ./vendor/phpunit/phpunit/phpunit