(我不知道说出这个的最好方法但是这里去了!) 我有一个PHP的站点,它根据标识符输入(例如.php?id = 500)从表中获取某些数据,并从每个表中查找每个相应的字段并将它们放入表或列表中。
我会使用的最简单的CMS是什么?我该如何处理?是否有像Joomla或Wordpress这样的简单插件,或者我可以指向特定的表,告诉它标识符列,并告诉它列出匹配的每一行?包括其他表格?
IE。它从地址表中提取内容并列出所有地址,从信息中提取内容并列出其性别年龄等。
所以这样,它创建了我可以更轻松地管理的动态页面,并具有搜索和索引。试图编写所有这些,并且它已经超越了我。我想有一个CMS可以为我做这一切。
我希望你们理解我的问题,我试着搜索很多这方面的措辞。
答案 0 :(得分:1)
你做出了正确的决定。转到CMS。 我已成功将数据(类别,文章和图像)迁移到Joomla安装中,步骤如下:
如果图片与CMS中的文章分开存储,则至少添加一个
到文本中并附加其余内容;
要执行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;
}
}
答案 1 :(得分:0)
有很多CMS解决方案可以为您完成此任务。说实话,如果你已经有一个网站启动并运行,你只想要一个CMS,Joomla或WordPress有点矫枉过正。看看PyroCMS,它完全符合您的描述。它很容易设置和运行,并且具有良好的文档。
如果您正在使用Python并对混合解决方案感兴趣,那么我已经成功地将主要网站的PHP框架和CMS中的Django(在Python中)使用。
答案 2 :(得分:0)
写自己真的不会那么复杂。事实上,它与我的一个内容管理系统的工作方式类似:我有一个用于每个“模块”的类和指定数据库表以从中选择记录的属性,在概述页面上显示的列(表标题),以及要在表单视图中显示的列(输入)。
尝试将已经建成的网站用于像WordPress或Joomla这样的CMS!想要为你做的一切(包括前端网站)开箱即用将是一个痛苦的屁股。即使你在你的网站上使用CMS制作一个CMS并让它工作,它也会变得臃肿。
答案 3 :(得分:0)
另一个想法可能是使用Cakephp http://cakephp.org/。 Cake可以读取您的数据库方案并生成启动和运行所需的文件。 (如果您有命令行访问权限)。它使用MVC模式,并且非常快速地设置。我亲自在你描述的项目数量上使用了蛋糕。
如果不手动操作,Wordpress可能会有点难以获取所有帖子。但是如果你不想编写太多代码并且想要手动移动所有wordpress或其他一些开箱即用的CMS系统可能适合你。
答案 4 :(得分:0)
好问题。自Joomla回答后,我将回答WordPress。我建议创建一个php文件,将所有表数据导出到xml(RSS或WordPress)。然后,您只需使用WordPress import函数将信息导入WordPress。
通过这种方式,您可以保留两个表,并且可以将信息完全导入WordPress。
如果您感兴趣我可以将一些代码一起烹饪,如果您给我的表格格式。
最后,您应该在WordPress Stack Exchange(wordpress.stackexchange.com)上搜索并重新发布您的答案。
答案 5 :(得分:0)
您有几个选择:
另见http://thethemefoundry.com/blog/html-wordpress/ 另请参阅http://wordpress.org/plugins/tablepress/
答案 6 :(得分:0)
有四个问号:
问。我会使用什么最好的简易CMS?
甲。 WordPress的。
我该如何处理?
甲。学习PHP。
问。是否有一个简单的插件,如Joomla或Wordpress,或者我可以指向特定的表,告诉它标识符列,并告诉它列出匹配的每一行?
甲。大概。这是PHP中的一项简单任务。
问。包括其他表格?
甲。同上。
答案 7 :(得分:0)
以下是您尝试完成的一些可能的快捷方式:
如果您当前的网站正在生成RSS聚合链接,那么WP-RSS-Multi-Importer看起来很有希望。
如果您当前的网站没有RSS,但您可以访问数据库(通过主机控制面板/ phpmyadmin,或通过服务器命令行实用程序,如mysqldump),那么您可以将数据库导出为CSV或XML,并尝试使用WP-All-Import等插件将其导入Wordpress。
这需要更多时间,因为您需要将数据映射到相应的wordpress字段。
如果您既没有RSS也没有访问数据库,那么您将需要&#34;刮擦&#34;你的网站。通常这意味着编码,但有几个wordpress插件可能适合你。这里可能会出现很多问题,所以如果最终产品不是您想要的,请不要感到惊讶。
答案 8 :(得分:0)
比使用cakephp更低级别的方法是使用ActiveRecord,这对处理数据库有很大帮助。
e.g。使用PHP ActiveRecord
答案 9 :(得分:-1)
您可以使用yii或codeigniter之类的框架。他们可以让你的生活变得轻松。您可以使用这些框架轻松快速地创建CMS。
您可以传递id
之类的参数答案 10 :(得分:-1)