人気のあるCMSでのWebサヌビスの統合

この蚘事では、CMSを短時間で孊習し、そのための拡匵機胜、モゞュヌル、たたはプラグむンを䜜成する方法に぀いおの掚奚事項を瀺し、 Cackleサヌビスをこれらのシステムに統合した結果ず経隓に぀いお説明したす。 この蚘事は、cmsシステムずのサヌビス統合を行うか、単にモゞュヌルを䜜成する人向けのガむドになりたす。



どのような皮類のcmsを統合するかを決定する前に、ナヌザヌの統合芁求に関する統蚈を収集する䟡倀がありたす。どのcmsが最も人気があるかを瀺しおいたす。

画像



これらの統蚈に基づいお、これらのcmsにモゞュヌルを埋め蟌む効果は、その人気に統蚈的に比䟋するず仮定できたす。 これは、さらに孊習する各cmsに圓おはたりたす。



統合により、サヌビスをcmsに䟿利に埋め蟌み、その䜿甚の利点を最倧限に掻甚できたす。 理想的な解決策は、数回クリックするだけでプラグむンをむンストヌルするこずです。 蚱容される解決策は、mod-cmsスクリプトを倉曎するcmsを完了するための指瀺です。 私たちのプロゞェクトでは、Cmsに察するCackleコメントの統合には通垞、次の点が含たれたす。



-Cackleサヌビスからロヌカルデヌタベヌスぞのコメントの同期は5分ごず

-SEOのHTML衚瀺

-既存のサむトコメントをCackleに゚クスポヌトする

-再同期の可胜性ロヌカルデヌタベヌスぞのコメントのコピヌの繰り返し

-SSOナヌザヌの承認

-メむンペヌゞのコメントカりンタヌ

-最近のコメントりィゞェット



モゞュヌルのこれらすべおの芁件には、タむマヌの実装、APIを介したリク゚ストによるコメントの受信、デヌタベヌスぞの保存、特定のペヌゞのcmsテンプレヌトでのjsりィゞェットの衚瀺、APIキヌを入力するための管理パネル、およびその他の蚭定が含たれたす。



Cackleコメントサヌビスを次のcmsシステムに統合したした。

Wordpress、Drupal、DLE、InstantCms、Joomla、Bitrix。



次に、時系列で、各cmsの統合゚クスペリ゚ンスを説明したす。



ワヌドプレス





開発


プラグむンを䜜成するための詳现なドキュメントがありたす。 プラグむンを初期化するには、必芁なフックを芋぀けるだけですアクションずフィルタヌ-codex.wordpress.org/Plugin_API comments_templateを䜿甚しおテンプレヌトをコメント付きで衚瀺し、comments_numberを䜿甚しお投皿のコメント数を衚瀺し、admin_menuを䜿甚しお管理パネルにメニュヌを远加し、wp_footerを䜿甚しおjsカりンタヌをフッタヌに远加したす。 時間の同期には、タむマヌによる任意の関数の開始を実装するwp_schedule_single_event関数を䜿甚したす。



コヌドに慣れるには、プラグむンをダりンロヌドしお、こちらの説明をご芧ください- ワヌドプレスのプラグむン



テスト䞭


WPのテストは、異なるバヌゞョンで実行する必芁がありたす。 モゞュヌルで䜿甚されおいるデヌタベヌスに関数たたはテヌブルがない堎合に、状況が発生する可胜性がありたす。 ここでは、次のチェックを実行できたす。

if (version_compare(get_bloginfo('version'), '2.9', '>=')){

..

}







叀いバヌゞョンをサポヌトする必芁がありたすか そう思う。 倚くのブロガヌは、次のように叀いバヌゞョンに座っおいたす 曎新は倚くの堎合、テンプレヌトファむル、゚ンゞン、倚くのプラグむンの倉曎で終了し、すべおを再構成する必芁がありたす。



発売日


プラグむンのリリヌスは、正しいバヌゞョンでsvnタグにコミットされたす。 メむンファむルずreadmeファむルのモゞュヌルのバヌゞョンに特に泚意を払う必芁がありたす。 モゞュヌルはモデレヌトなしでリリヌスされたす。 svn WordPressぞのアクセスを蚱可する時間は玄3〜5日です。



結果


ワヌドプレスの堎合、特定の時点でのプラグむンの䜿甚に関するオヌプンな統蚈がありたす-wordpress.org/plugins/cackle/stats 。 リリヌス盎埌には、1日あたり30〜50回のダりンロヌドがありたした。 珟時点では、ダりンロヌドの総数は玄20,000です。ナヌザヌの80はお客様です。



Drupal



開発


_block_viewペヌゞのブロック衚瀺フックで初期化が行われたす。 カスタムテンプレヌトの接続ずjsファむルの远加には特に泚意が必芁です。 倉数を䜿甚できるように、倉数を正しく枡すこずが重芁です。

jsを接続するには

 drupal_add_js(array( 'cackle' => array( 'cackle_mc_site' => variable_get('cackle_mc_site', NULL), 'node_id' => $node->nid, ), ), 'setting');
      
      





js自䜓の内郚で、mcSiteはDrupalオブゞェクトのプリロヌドされたプロパティから取埗されたす。

 var mcSite = Drupal.settings.cackle.cackle_mc_site;
      
      





テンプレヌトは次のように接続されたす。

 $template = theme('cackle_custompage_template', array( //    'obj' => $obj, 'nodeid' => $nodeid, 'has_curl' => $has_curl) );
      
      







テンプレヌトフック自䜓

 function cackle_theme() { return array( 'cackle_custompage_template' => array( 'template' => 'cackle_template', 'arguments' => array( 'obj' => NULL, 'nodeid' => NULL, 'has_curl' => $has_curl ), ), ); }
      
      







たた、これらのフックは、モゞュヌルを取り倖しお再むンストヌルするずきにのみ接続されるずいう事実にも泚意を払う必芁がありたす。



コヌドに慣れるには、プラグむンをダりンロヌドしお、説明を参照しおください-drupalのモゞュヌル



発売日


モゞュヌルをdrupal Webサむトのディレクトリに配眮するこずは、かなり難しいク゚ストであるこずがわかりたした。 最初に、サンドボックスプロゞェクトが䜜成されたす。 gitに泚いだ。 その埌、圌はレビュヌに行きたす。 このプロゞェクトはkitのように投げられおいたす。 ブラりザが最初に蚘述するこずは、自動コヌド怜蚌の゚ラヌず譊告-pareview.shです。 スペヌスたで、カンマたで、タブの代わりに2぀のスペヌスたで、すべおが重芁です。 そしお、コヌドを線集する前に。 その埌、すべおが修正され、それに぀いおかなり報告するず、特定の「メむン」が衚瀺され、曞き蟌みたす私たちは今忙しいので、レビュヌを手䌝っおください。プロゞェクトをレビュヌする時間ずボヌナスdrupal.org/ node / 1975228その本質は、プロゞェクトをサンドボックスからフルプロゞェクトにアップグレヌドできる人からレビュヌを取埗する前です-぀たり カタログで利甚できるプロゞェクトは、他のプロゞェクトのレビュヌを3回行う必芁がありたす。 欠陥が芋぀かった堎合、プロゞェクトは修正のために送信されたす。タグボヌナスレビュヌを行うには、さらに3぀のレビュヌを行う必芁がありたす。



最初に泚意するレビュヌア



ここでそれがどうであったかを芋るこずができたす-drupal.org/node/1824770

ボヌナスレビュヌを取埗するには、パルスに遅れないようにする必芁がありたす...レビュヌ甚の新しいプロゞェクトが衚瀺されたらすぐに、トップリストから゚ラヌず䞍正確さをすばやくマヌゞしお探す必芁がありたす。 これらすべおを完了した堎合、アカりントにはコミュニティモデレヌションなしで完党なプロゞェクトを䜜成する暩利が䞎えられたす。 最埌の譊告埌で機胜を向䞊させるこずを目的ずしお、モデレヌションなしで小さなプロゞェクトをレビュヌ甚に数行で投皿するこずにより、完党なプロゞェクトを䜜成する暩利を取埗するこずはできたせん。

たた、apiの説明では、このフックたたはそのフックがどのように機胜するかを理解するために倚くの゚ラヌを芋぀けるこずができるので、コアdrupalモゞュヌルを盎接確認するこずをお勧めしたす。



結果


カタログからは、たった241のダりンロヌド drupal.org/project/cackleず個人アカりントからのデモ版の玄100ダりンロヌドが垞にありたす。 統蚈によるず、Drupalモゞュヌルは珟圚150のサむトのどこかで䜿甚されおいたす。



りィックス



Wixは人気のあるWebサむトビルダヌです。 このサむトビルダヌの開発者自身が私たちに連絡し、垂堎向けのアプリケヌションの䜜成を提案したした。 プラットフォヌムでは3000䞇以䞊のサむトが䜜成されたのは魅力的でしたが、これはロシアではただ珍しいこずです4月にこの統合を行い、ロシアのドメむンの統蚈情報はありたせんでした。



開発


りィゞェットが垂堎に参入するためには、暗号化されたパラメヌタヌを受け入れ、察応するりィゞェットを衚瀺する耇数のコントロヌラヌをホスト䞊に䜜成する必芁がありたす。 Wixアプリケヌション自䜓を䜜成するずき、2぀のアドレスのみが挿入されたす/ widget-りィゞェット自䜓、/ settings-りィゞェット蚭定。 圌らはphpに既補のサンプルを持っおいたす-github.com/wix/wix-php-rss-feed-app 。これはホスティングでこのアプリケヌションを䞊げるのに圹立ちたす。 珟圚のラむブラリを慎重に眮き換える必芁があるのは、あなただけです 最近のプレフィックスでさえ、叀いAPIラむブラリを提䟛したす。



発売日


垂堎にアプリケヌションを提出するずきに発生する可胜性のある問題

-サヌビスでのナヌザヌ登録は、サヌバヌ䞊で生成する必芁があるこれらのたさにりィゞェットを通じお、wixサむトで盎接行われる必芁がありたす

-サヌビスぞの登録の確認を芁求するこずはできたせん

-りィゞェットのすべおの蚭定は、CackleではなくWixアプリケヌション自䜓で行う必芁がありたす

-独自の関皎がある堎合は、Wixに転送する必芁がありたす。 Wixりェブサむトでのサヌビス料金を支払いたす

最初の3぀は、ナヌザヌが自分のサむトにずどたり、別のサむトで蚭定を行うこずを神に犁じたり、メヌルに行ったりしおはならないずいう考えに基づいおいたす。

埌者は、Wixが販売に察しお30〜40の範囲で報酬を受け取るこずを前提ずしおいたす。

すべおがうたく機胜しおいないこず、そしおシステムを倧幅に倉曎する必芁があるこずを説明しようずするすべおの詊みに察しお、「Wixでは違いたす」ずいう答えが1぀ありたす。 そしお明らかに圌らはそれを誇りに思っおいたす。

その結果、圌らは垂堎ぞの投皿を拒吊し、すでにナヌザヌでありWixを䜿甚しおいるナヌザヌぞの指瀺に限定されたした。



Dle





開発


DLE APIは最も短いものです。 もちろん、drupalやwordpressのような匷力なフックはありたせんが、コヌドを少し倉曎するだけで、必芁なモゞュヌルをきれいに埋め蟌むこずができたす。

開発したモゞュヌルは、目的のテンプレヌトに1行で接続されたす-

 {include file="engine/inc/cackle_template.php?newsid={news-id}"}
      
      







これにより、cmsから分離しおモゞュヌルをテストし、ビルドするこずができたす。 実際、私たちは䞀般的な゜リュヌションを構築したした。 モゞュヌルの䟋の管理ペヌゞを呌び出すこずにより、モゞュヌル自䜓がむンストヌルされたす。

http// [サむトのルヌトパス] /admin.php?mod=cackle_admin

dleで定矩されたデヌタベヌス定数DBHOST、DBNAME、DBUSER、DBPASSにより、pdoで䜜成された䞀般的な゜リュヌションずデヌタベヌス接続を完党に䜿甚するこずができたした。



コヌドに慣れるには、プラグむンをダりンロヌドしお、説明を参照しおください- モゞュヌルfor dle



発売日


最埌に埅っおいた最も楜しい報酬は、DLEに倚数のサむトがあり怜玢で簡単に怜玢できる、モゞュヌルに関する情報を完党に無料で投皿できるこずです...そしお、これらは1日あたり500から3500人のトラフィックを持぀良いサむトです。 たた、完党に無料で、モゞュヌルはメむンペヌゞdle-new.ruに配眮されたした。 これらすべおが非垞に優れたコンバヌゞョントラフィックをもたらしたした。



開発期間


ajax管理パネルず2぀の゚ンコヌドutf8、win1251をサポヌトする䞀般的な゜リュヌションの開発を含む3日間

リリヌス時間1週間以内



結果


1か月あたり150回のむンストヌル



むンスタント





開発


プラグむンを䜜成するための公匏ドキュメントはたったくありたせん。 代わりに、完成したモゞュヌルを確認するこずをお勧めしたす。 ネットワヌクには、events'ovのリストが散らばっおいたすwww.instantcms.ru/blogs/haki-patchi-moduli-plaginy-i-prochie-dorabotki-dvizhka/spisok-vseh-event-ov-sistemy.htmlの1぀ですコヌドに 倚くのむベントには小さなバグがあり、独自のピヌスを远加できるHTMLのオブゞェクトを返さないか、たったく動䜜しない堎合がありたす。 コヌドを埋め蟌むこずができたコンテンツの皮類に぀いおのみ蚘事、ブログ、写真。

プラグむン蚭定を含む管理パネルは、プラグむンパスにねじ蟌たれなければなりたせんでした。



 foreach($GLOBALS['cp_pathway'] as $key => $value){ if(isset($GLOBALS['cp_pathway'][$key]['title'])) { if ($plugin_id&&$plugin_name='p_cackle'){ $this->events[] = 'SHOW_CACKLE_ADMIN'; cmsCore::callEvent('SHOW_CACKLE_ADMIN', $this->showCackleAdmin()); } } }
      
      







コヌドに慣れるには、プラグむンをダりンロヌドしお、こちらの説明をご芧ください-instantCmsのプラグむン



発売日




このCMSにはクラむアントからの統合芁求がかなりありたしたが、このCMSの統蚈を芋るず、統合を急ぐ必芁はありたせんでした。 モゞュヌルは顧客の1人によっお泚文されたした。 むンデックスのセットアップを行い、クラむアントがinstantCmsブログにモゞュヌルを投皿したした。 次に、このモゞュヌルに他のすべおの機胜export、sso、counterを含め、プラグむンのリストに远加したした。 テヌマ別のサむトやフォヌラムにこのモゞュヌルに関する情報を投皿できるようにする予定でしたが、もっず真剣に芋おみるず、䜕もないこずに気付きたした。 さらに、ブログでのレビュヌず議論は、ナヌザヌが無料のcmを䜿甚するずいう事実に照らしお、有料サヌビスを䜿甚するこずの劥圓性に垰着したした。



開発期間


3日間。 ほずんどの時間はむベントの把握に費やされたした。



結果


ダヌスむンストヌル。



Joomla



開発


プラグむンを䜜成するための公匏ドキュメントがありたす。 プラグむンのパラメヌタヌはxmlを通じお定矩され、䟿利なメッセヌゞのシステムを通じおロヌカラむズされたす。 コンテンツの出力の前埌に䟿利なむベントdocs.joomla.org/Plugin/Events/Contentがありたす。 䟿利なテストず開発のために、コンテンツの皮類を理解し、すべおの䞻芁なコンテンツを䜜成するためにテストする必芁がありたす。



コンテンツコンポヌネントの$ view == 'article'

$ view ==コンポヌネントK2の「アむテム」

viruemartの$ view == 'productdetails'

$ view == 'frontpage'メむンペヌゞ

$ view ==お気に入りの「特集」

$ view == 'section'および$ view == 'category' for categorys

さらに、むベントの凊理䞭に、コンテンツのタむプずコンポヌネントの名前を刀別し、通垞の状態でモゞュヌルに必芁な芁玠を衚瀺できたす。

$ view = JRequest :: getCmd 'view'; $ option = JRequest :: getCmd 'option';



コヌドに慣れるには、プラグむンをダりンロヌドし、説明を参照しおください-plugin for joomla



テスト䞭


コンポヌネントk2、Virtuemartを含む2぀のバヌゞョン2.5、3.0でテストしたした3.0の堎合はなし



発売日


たた、joomlaのextension dirに぀いおも蚀及する必芁がありたす。 たず、ログむンにバグがありたす...すべおのフォヌムが機胜するわけではありたせん...フォヌラムずサむトで異なる登録がありたす。 プラグむンの送信ボタンは、サブセクションのディレクトリ自䜓にありたす。 提出モゞュヌルのちょっず倉わった圢匏。 1か月前の新しいリリヌスでの行は86でしたが、その月は70に移動したした。今月には、216のアプリケヌションが既にキュヌにありたす。

私たちにずっお、この゜リュヌションの開発目暙は、サヌドパヌティのプラグむンを攟棄するこずでした。



1C bitrix



開発


アプリケヌションの展開の開始時に、utf-8にむンストヌルするこずが困難になりたした。 サヌバヌを長時間蚭定する必芁がありたした。

モゞュヌルの開発に関するドキュメントは、モゞュヌルの構造の説明ず䟋で優れおいたす。 Bitrixぞの統合のために、通垞、コンポヌネントを含むモゞュヌルが䜜成されたす。 ナヌザヌは、サむトの任意のペヌゞでビゞュアル゚ディタヌを介しおコンポヌネントに接続できたす。 問題の1぀は、block_idずしお材料識別子を取埗するこずでした。 代わりに、マテリアルのパスを返すGetCurPage関数を䜿甚する必芁がありたした。 䞀般的な゜リュヌションの管理パネルは、パラメヌタヌを保存する機胜をわずかに倉曎するだけで、モゞュヌルの管理パネルに簡単に移動できたした。

 COption::SetOptionString("cackle.comments", $param, $value); COption::GetOptionString("cackle.comments", $param);
      
      





これたでのコヌドは、Cackle管理゚リアでのみ確認できたす。 これを行うには、 デモ登録を䜿甚できたす。



発売日


リリヌスするには、パヌトナヌシップ申請曞を送信する必芁がありたす。 その結果、テクノロゞヌパヌトナヌのステヌタスが割り圓おられたす。 開発甚の無料ラむセンスを取埗できるこずを望んでいたしたが、30日前のデモ版で開発を実斜する必芁があるずサポヌトから回答がありたした。

リリヌスするずきは、名前を遵守するこずが重芁です。 このcackle.commentsがありたす。 この名前のモゞュヌルは、蚭定ず曎新、モゞュヌル蚭定option.phpがある堎合、およびドットがない堎合、Bitrixモゞュヌルでのみ衚瀺されるこずに泚意しおください。 垂堎では、平均しお7日間Tech。Supportによるず、実際には9日間でさえ、モデレヌトがかなり長い間行われおいたす。 開発時間を短瞮し、デヌタベヌス内のpdoコネクタでラむブラリを䜿甚しようずしたした。 その結果、テスタヌに​​゚ラヌが発生したした。 このモゞュヌルは有効化されおおらず、誰もがこのモゞュヌルを持っおいるわけではないずいう確信の䞋でPHP 5.2に付属しおいたすが、デヌタベヌス局党䜓をBitrix APIに曞き換える必芁がありたした。 これでモゞュヌルは再びモデレヌトされ、完了時にモゞュヌルは再びキュヌの先頭にあるようです。



最新の掚奚事項





迅速か぀成功した統合のための䞀般的な掚奚事項



ツヌルずしお、OpenServerサヌバヌずcmsごずに個別のフォルダヌを䜿甚したす。



私たち自身がcmsずの統合を行っおいたす これにより、顧客サヌビスの品質が向䞊したす。 問題が発生した堎合、クラむアントを支揎する機䌚が垞にありたす。



さらに、他のCMSずの統合を行う予定です。 近い将来、これらはNetcatずUMIです。 このトピックが興味深い堎合は、統合の説明を続けたす。



All Articles