あなたは正しい決断をしています。CMS に移動します。データ (カテゴリ、記事、および画像) を Joomla インストールに正常に移行しました。手順は次のとおりです。
- CMS関連データから選択
画像が CMS の記事とは別に保存されている場合は、少なくとも 1 つを先頭に追加します
テキストに追加し、残りを追加します。
- J2.5+ は記事の画像とサムネイルをサポートしていますが、テンプレートはまだそれを実装していません
- 記事レベルできめ細かなアクセスが必要でない限り、すべての記事を単一のアセット ID に向ける
- サンプル記事を作成し、追加のフィールドを使用して空白を埋める
- 可能であれば、IntroText と FullText を適切に分離してください。それぞれに入るhtmlが自己完結型で検証されることを確認してください
- データが UTF-8 であることを確認し (そうでない場合は変換してください)、SQL インポートを実行します。
- 記事マネージャーから再構築アイコンを選択して、アセットと ltr-rtl フィールドを再構築します
SQL インポートを実行するには、content_frontpage テーブルもクリアする必要があります。
これは、別の cms から行を受け取り、それを Joomla に入れる関数です。いくつかのコメントはイタリア語で書かれていますが、それを行う方法の感触をつかむ必要があります. mdc2j は、データを適切にエスケープし、必要に応じてフォーマット/カテゴリ ID などを変更するために作成した専用関数です。
function importaArticolo($row) {
global $link;
echo "<h3>Importa Articolo ".$row->Id . " (". $row->titolo . ")</h3>";
/*
" ('$row->id', '0', 'test', 'test_alias', '', 'tutto il testo riga per riga', ".
" '', '0', '0', '0', '111', '2001-01-25 16:30:15', '4', 'la firma', '2001-01-25 16:30:15', ".
" '0', '0', '0000-00-00 00:00:00', '2001-01-25 16:30:30', '0000-00-00 00:00:00', 'list of images?', 'list of urls?', ".
" '".'{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}'."', ".
" '1', '0', '0', 'kewords', 'key-description', ".
" '0', '0', ".
" '".'{"robots":"","author":"","rights":"","xreference":""}'."', '0', '*', '');";
*/
try {
$idcategory = mdc2jCategory($row->idCanale);
if ($row->isDossier * 1 == 1) {
if (1*$idcategory==10) {
$idcategory= 28;
}
}
$default_user=42;
$SQL=sprintf(
"INSERT INTO `".$GLOBALS['db_database_new']."`.`eco_content` (`id`, `asset_id`, `title`, `alias`, `title_alias`, `introtext`, ".
" `fulltext`, `state`, `sectionid`, `mask`, `catid`, `created`, `created_by`, `created_by_alias`, `modified`, ".
" `modified_by`, `checked_out`, `checked_out_time`, `publish_up`, `publish_down`, `images`, `urls`, `attribs`, ".
" `version`, `parentid`, `ordering`, `metakey`, `metadesc`, `access`, `hits`, `metadata`, `featured`, `language`, ".
" `xreference`) ".
" VALUES ".
" ('%d', '0', '%s', '%s', '', '%s', ".
" '%s', '%d', '0', '0', '%d', '%s', '%d', '%s', '%s', ".
" '0', '0', '0000-00-00 00:00:00', '%s', '0000-00-00 00:00:00', '', '', ".
" '".'{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}'."', ".
" '1', '0', '0', '%s', '%s', ".
" '%d', '%d', ".
" '".'{"robots":"","author":"","rights":"","xreference":""}'."', '%d', '*', '');",
$row->Id,
mysql_real_escape_string($row->titolo),
makeAlias($row->titolo), // alias
mdc2jSommario($row), // this creates the introtext
mdc2jText($row), // this returns the text
$row->idStato=="2"?0:1, // idStato="suspended"
$idcategory, // correct category id
mdc2jDate($row->dataCreazione),
$default_user,
mdc2jFirma($row->firma),
mdc2jDate($row->dataCreazione), //2001-01-25 16:30:15
mdc2jDate($row->dataPubblica), //2001-01-25 16:30:30
mdc2jMetaKeywords($row), // adds "dossier" if appropriate
mdc2jMetaDesc($row), // if not assigned, create it automatically
$row->idStato=="2"?3:1,
$row->viewCounter,
0 //featured: (($row->Id % 13) == 0 ? 1 : 0 )
);
$res = mysql_query($SQL);
if ($res) {
$lastid = mysql_insert_id();
//echo "Article $lastid ($row->Id) Inserted into DB<br>";
// this will import images in a separate tool, an ignite gallery, so it's not really meaningful for you:
importaImmagini($row->Id, $row->canale, $row->cid);
return 1;
}
else {
echo "<span class='err'>WARNING: article not inserted in db</span>"."<br>".mysql_errno($link) . ": " . mysql_error($link);
echo "<textarea cols='80' rows='3'>".$SQL."</textarea><br>";
}
return 0;
}
catch (Exception $e)
{
echo "<span class='err'>Exception! ".$e->getMessage()."</span><br>";
return 0;
}
}