tomk79/px2-site-search 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

tomk79/px2-site-search

Composer 安装命令:

composer require tomk79/px2-site-search

包简介

关键字:

README 文档

README

Pickles 2に、サイト内検索機能を追加します。

Setup - セットアップ手順

Pickles 2 プロジェクト をセットアップ

1. composer.json に、パッケージ情報を追加

$ composer require tomk79/px2-site-search

2. px-files/config.php を開き、プラグインを設定

$conf->funcs->before_content = array(
    // PX=site_search
    picklesFramework2\px2SiteSearch\register::before_content(array(
        // 検索エンジンの種類
        // - 'client' = ブラウザ上で静的に動作する検索インデックス
        // - 'paprika' = Paprikaフレームワークを用いてサーバー上で動作する検索インデックス
        // 省略時: 'client'
        'engine_type' => 'client',

        // クライアント用アセットを書き出す先のディレクトリ
        // 省略時: '/common/site_search_index/'
        'path_client_assets_dir' => '/common/site_search_index/',

        // 非公開データの書き出し先ディレクトリ
        // 省略時: '/_sys/site_search_index/'
        'path_private_data_dir' => '/_sys/site_search_index/',

        // インデックスから除外するパス
        // 複数のパス(完全一致)、または正規表現で定義します。
        // 省略時: 除外しない
        'paths_ignore' => array(
            '/perfect_match_ignored/ignored.html', // 完全一致 による設定例
            '/^\/ignored\/.*$/i', // 正規表現による設定例
        ),

        // コンテンツエリアを抽出するセレクタ
        // 省略時: 'body'
        'contents_area_selector' => '.contents',

        // コンテンツから除外する要素のセレクタ
        // 省略時: 除外しない
        'ignored_contents_selector' => array(
            '.contents-ignored',
        ),
    )),
);

3. コンテンツまたはテーマに、検索UIを追加する

<!--
アセットをロードする
先頭の `/common/site_search_index/` の部分は、 `path_client_assets_dir` で設定したパスを参照するように書き換えてください。

オプション:
- `data-path-controot`: Pickles 2 の `$conf->path_controot` の設定値 (省略可)
- `data-lang`: Pickles 2 の `$px->lang()` の値 (省略可)
- `data-local-storage-key`: px2-site-search に専有を許可する localStorage のキー
- `data-allow-client-cache`: index.json をキャッシュするか? (true: キャッシュする, false: キャッシュしない)
-->
<script src="<?= $px->href('/common/site_search_index/assets/px2-site-search.js') ?>"
    data-path-controot="<?= $px->conf()->path_controot ?>"
    data-lang="<?= $px->lang() ?>"
    data-local-storage-key="px2-site-search"
    data-allow-client-cache="true"></script>
<link rel="stylesheet" href="<?= $px->href('/common/site_search_index/assets/px2-site-search.css') ?>" />

<!--
検索UIをページに埋め込む場合
-->
<h2>検索</h2>
<div id="cont-search-result-block"></div>
<script>
	px2sitesearch.createSearchForm('#cont-search-result-block');
</script>

<!--
検索ボタンから検索ダイアログを開く場合
-->
<h2>検索ボタン</h2>
<p><button class="px2-btn px2-btn--primary cont-search-button">検索ダイアログを開く</button></p>
<script>
	$('.cont-search-button').on('click', function(){
		px2sitesearch.openSearchDialog();
	});
</script>

4. インデックスファイルを生成する

$ php ./src_px2/.px_execute.php "/?PX=site_search.create_index"

管理画面拡張

config.php に次のような設定を追加します。

$conf->plugins->px2dt->custom_console_extensions = array(
    'px2-site-search' => array(
        'class_name' => 'picklesFramework2\px2SiteSearch\cce\main()',
    ),
);

PXコマンド - PX Commands

PX=site_search.create_index

インデックスファイルを生成する。

変更履歴 - Change Log

tomk79/px2-site-search v0.2.3 (2025年7月12日)

  • ヘッダー情報の送信に関する改善。

tomk79/px2-site-search v0.2.2 (2024年9月10日)

  • 検索ダイアログのUI改善。

tomk79/px2-site-search v0.2.1 (2024年7月21日)

  • 管理画面拡張機能に関する改善。

tomk79/px2-site-search v0.2.0 (2024年4月30日)

  • サーバーサイドで検索を実行できるようになった。
  • engine_type オプションを追加した。
  • paths_ignore オプションを追加した。
  • contents_area_selector オプションのデフォルト値を body に変更した。
  • path_private_data_dir オプションを追加した。
  • data-path-controot オプションを省略できるようになった。
  • data-lang オプションを追加。
  • data-allow-client-cache オプションを省略できない不具合を修正。
  • X-PXFW-RELATEDLINK によって追加された新しいパスが、キュー配列の先頭に追加されるようになった。
  • 検索対象文字列中のHTML特殊文字の取り扱いに関する不具合を修正した。

tomk79/px2-site-search v0.1.0 (2024年3月20日)

  • Initial Release.

ライセンス - License

MIT License

作者 - Author

tomk79/px2-site-search 适用场景与选型建议

tomk79/px2-site-search 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 220 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 03 月 06 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「pickles2」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 tomk79/px2-site-search 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 tomk79/px2-site-search 我们能提供哪些服务?
定制开发 / 二次开发

基于 tomk79/px2-site-search 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 220
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 10
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-03-06