0

私は多くのPHPアプリケーション(およびPHP以外)を持っていますが、アプリケーションの複雑さやレガシー実装のために、CMS上に構築するのにはあまり適していません。CMS機能をアプリケーションに組み込むための良い方法は何でしょうか?以前は、サーバー側でHTMLスニペットを使用しており、ページに含まれています。スニペットは、DreamweaverやCushyCMSなどのHTMLツールを介して維持されます。これにより、管理者が管理できるコンテンツ領域をいくつか持つことができます。ただし、CushyCMS(スタンドアロンDW)は機能が制限されているため、あまり満足していません。サーバー上のページに直接含まれているコンテンツを維持するためだけに、同様のWordpressを使用することを考えていました。しかし、実際の質問は... :)

WordpressなどのCMSでサイト全体を構築せずにCMS機能を取得するための良い方法は何でしょうか。

4

2 に答える 2

1

CMS が複雑になるのには理由があります。ファイルまたは sqlite に保存される単純な記事管理を追加することから始めます。その後、複数のユーザーが必要になります。次に、ツリー状のメニュー、許可システム、記事のロックまたはバージョンが必要になります。コントロール..次に、パフォーマンスとスケーラビリティの向上が必要な場合は、実際の DB に移行します..次に、ウィジェットやテーブルなどの動的データが必要です。次にモジュラー構造。ショップ モジュール、ニュースレターなど。そのため、自分だけがどのように機能するかを知っている複雑なエンジンになってしまいます。

したがって、長期的に保守可能な CMS が必要な場合は、Wordpress のように内部が見苦しくても、既存のオープンソース ソリューションを使用してください。相互に統合する必要がある場合があります。その場合、両側で API が必要になります。

于 2012-04-12T09:05:46.743 に答える
0

CMS でルートを処理し、その結果を基になるアプリケーションに委譲する CMS 拡張機能を作成することもできます。

例を挙げると、drupal 7 で考えてみましょう。この CMS では、モジュールに関するデータ用とモジュールのコード用の 2 つのファイルを含むフォルダーを持つモジュールを作成できます。

my_module/my_module.info <-モジュールのデータ

name = My Module
description = A description of what your module does.
core = 7.x

my_module/my_module.module <- モジュールのコード

<?php
/**
* Respond to a drupal's URL with a callback.
*/
function my_module_menu() {
    $menu = array();
    $menu["App"] = array(
        "page callback" => "my_module_run",
        "access callback" => true,
    );
    return $menu;
}

/*
* Do the job
*/
function my_module_run() {
    ob_start();
    // Call your application by including it's index.php file or whatever
    // operation needed.....
    // Capture the result of the application.
    $result = ob_get_clean();

    // If the request is ajax, echo the result.
    if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) 
       && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
        echo $result;
    } else {
        //Otherwise, return it, so it is rendered as part of the 
        // CMS content.
        return $result;
    }
}
?>

この基本的なコードを使用すると、アプリケーションを drupal に「統合」できます。必要なのは、drupal モジュールとしてインストールし、htt://your-cool-site/App に移動してアプリケーションを実行することだけです。

drupal モジュール オーサリングの詳細については、こちらを参照してください。

私はそれが役立つことを願っています:)

これを念頭に置いて動作するフレームワークを次に示します。これには、drupal (6、7、および 8) と joomla へのバインディングがあります。

于 2013-04-10T02:06:30.273 に答える