rah/rah_swap

动态交换 Textpattern CMS 数据库

资助包维护!
www.paypal.me/jukkasvahn

安装: 2

依赖项: 0

建议者: 0

安全: 0

星级: 2

观察者: 5

分支: 2

开放问题: 0

类型:textpattern-plugin

0.2.0 2022-04-16 23:28 UTC

This package is auto-updated.

Last update: 2024-09-17 04:28:55 UTC


README

下载 | Packagist | 问题

使用模板标签动态交换连接到 Textpattern CMS 的 MySQL 数据库链接。该插件有潜力允许从不同的数据库中提取模板、文章和其他内容。

安装

使用 Composer

$ composer require rah/rah_swap

或者 下载安装包

基础

<rah::swap db="myNewDatabase">
    ...contained statement...
</rah::swap>

插件引入了一个新的标签,<rah::swap/>。该标签可以用作容器,也可以用作单个、自闭合的标签。用作容器时,仅更改包装代码的数据库连接链接。在闭合标签对上恢复原始链接。

属性

db
数据库名称。如果 db 是唯一设置的属性,则使用当前连接的凭据(用户、密码、主机)更改当前连接的数据库。不创建新链接,而是仅交换数据库,重用旧连接。
示例:db="myDatabase" 默认:未定义

user
用于连接数据库的用户名。
示例:user="username" 默认:未定义

pass
用户的密码。如果用户没有密码,则可以留空。
示例:pass="password" 默认:未定义

host
数据库服务器。 host 可以包含主机名、端口号或本地套接字的路径。默认为 localhost
示例:host="hostname.tld:3306" 默认:未定义

dbcharset
数据库的字符集。通常不应使用此属性,而应保持原样。Textpattern 使用 UTF-8,使用非 Unicode 字符集可能会产生意外的结果。
示例:dbcharset="latin1" 默认:未定义

client_flags
传递给数据库客户端的额外标志。通常您不需要担心此属性。通常不应使用此属性。
示例:client_flags="" 默认:未定义

reset
一个布尔属性,当设置时,将数据库连接重置为其原始状态。如果标签用作容器,则在关闭标签对上自动执行重置,无需 reset 属性。当 rah_swap 的标签用作自闭合的单个标签时,使用 reset 在您想要恢复到 Textpattern 的原始数据库连接时。
示例:reset 默认:未定义

link
预定义数据库凭据配置项的名称。如果定义了 link 属性,则使用的凭据将从预先定义的配置数组变量 $rah_swap 中提取,该变量存储在 Textpattern 的配置文件 config.php 中。
示例:link="template_db" 默认:未定义

配置

借助标签的link属性,可以将数据库连接凭证保存到Textpattern的配置文件(即/textpattern/config.php),而不是通过标签属性指定。

定义数据库的连接凭证基本上与定义Textpattern核心数据库详情的方式相同。Rah_swap期望一个名为$rah_swap的全局变量,其中包含一个多维数组,允许配置多个链接。示例配置可能如下所示:

$rah_swap['link1'] = [
    'db' => 'MyDatabase1',
    'user' => 'MyUsername1',
    'pass' => 'MyPassword1',
    'host' => 'localhost',
];

$rah_swap['link2'] = [
    'db' => 'MyDatabase2',
    'user' => 'MyUsername2',
    'pass' => 'MyPassword2',
    'host' => 'localhost',
];

其中link1link2将是链接配置的名称,并将用作rah_swap标签的link属性的值。

<rah::swap link="link1" />
<rah::swap link="link2" />

示例

简单使用示例

包含在<rah::swap>标签内的内容将从名为promotional_content_db的数据库中提取。

<rah::swap db="promotional_content_db">
    <txp:article_custom category="promo_2011_06">
        <txp:body/>
    </txp:article_custom>
</rah::swap>

在示例中,promotional_content_db将是一个由第二个Textpattern安装使用的数据库。该安装将用于托管推广内容和活动,并将重新分发到多个网站。

显示来自第二个安装的下载

<rah::swap db="downloads">
    <txp:file_download>
        <txp:file_download_link>
            <txp:file_download_name/>
        </txp:file_download_link>
    </txp:file_download>
</rah::swap>

如上所述,使用Textpattern的file tags([文件标签](https://docs.textpattern.com/tags/file-tags))从downloads数据库提供文件下载。

作为自闭合标签

将从templates数据库获取模板。

<rah::swap link="templates"/>
<txp:output_form form="header"/>
<txp:output_form form="cdn_template_banner_256x145"/>
<txp:output_form form="cdn_template_banner_256x145"/>
<rah::swap reset/>

使用reset属性将连接重置为正常。

变更日志

版本 0.2.0 – 2022/04/17

  • Textpattern >= 4.7.0 和 PHP >= 7.0 兼容性。
  • 现在需要 Textpattern >= 4.7.0。

版本 0.1.0 – 2013/05/06

  • 初始发布。