programing

MYSQL로 연결된 동적 PHP 사이트를 CMS로 변환하는 쉬운 방법?

javajsp 2023. 10. 11. 20:30

MYSQL로 연결된 동적 PHP 사이트를 CMS로 변환하는 쉬운 방법?

(이것을 말하는 가장 좋은 방법은 모르지만 여기 있습니다!)PHP에 있는 사이트가 있는데 .php?id=500과 같은 식별자 입력에 따라 테이블에서 특정 데이터를 가져와 각 테이블에서 위를 올려다보며 각 필드를 잡아 테이블 또는 목록에 넣습니다.

제가 사용할 수 있는 가장 좋은 쉬운 CMS는 무엇입니까?어떻게 접근해야 할까요?Joomla나 Wordpress 같은 것을 위한 간단한 플러그인이 있습니까? 특정 테이블을 가리키고 식별자 열을 알려주고 일치하는 모든 행을 나열하라고 말할 수 있습니까?다른 테이블도 포함해서?

즉, 주소 테이블에서 무언가를 꺼내고 주소를 모두 나열하며, 정보에서 무언가를 꺼내고 성별 나이를 나열합니다.

이렇게 하면 훨씬 쉽게 관리할 수 있고 검색과 색인을 가질 수 있는 동적 페이지가 생성됩니다.그 모든 것을 코드화하려고 노력하고 있고 그것은 나를 훨씬 앞서가고 있습니다.이 모든 걸 해주는 CMS가 있다고 생각했어요

여러분들이 제 질문을 이해해주셨으면 좋겠습니다, 저는 이 단어들을 많이 검색해 보았습니다.

당신은 옳은 결정을 하고 있습니다.CMS로 이동합니다. 데이터(카테고리, 기사 및 이미지)를 줌라 설치로 성공적으로 마이그레이션했습니다. 단계는 다음과 같습니다.

  1. CMS 관련 데이터에서 선택
  2. 사진들이 당신의 CMS에 있는 기사들과 별도로 저장되어 있다면, 적어도 하나를 붙입니다.

    본문에 추가하고 나머지를 추가합니다.

  3. J2.5+는 기사 이미지와 엄지손가락을 지원하지만 템플릿은 여전히 이를 구현하지 않습니다.
  4. 기사 수준에서 세분화된 액세스가 필요한 경우를 제외하고 모든 기사를 하나의 자산 ID로 가리킵니다.
  5. 샘플 기사를 작성하고 여분의 필드를 사용하여 빈칸을 채웁니다.
  6. IntroText와 FullText를 적절히 분리합니다. 가능한 경우 각 항목에 들어가는 HTML이 자동으로 포함되어 있는지 확인하고 유효성을 검사합니다.
  7. 데이터가 UTF-8에 있는지 확인한 후 SQL 가져오기 실행
  8. article manager에서 rebuild 아이콘을 선택하여 자산과 ltr-rtl 필드를 재구축합니다.

SQL Import를 수행하려면 content_frontpage 테이블도 지워야 합니다.

여기에 다른 cm에서 행을 받아서 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;
    }
}

이것을 대신할 수 있는 많은 CMS 솔루션이 있습니다.솔직히 말하면, 이미 사이트를 운영 중이고 CMS를 원하는 경우에는 줌라나 워드프레스는 일종의 오버킬입니다.PyroCMS를 보세요. 설명하고 있는 것과 정확히 일치합니다.설치 및 실행이 매우 쉽고 설명서가 좋습니다.

Python에 관심이 있고 하이브리드 솔루션에 관심이 있다면 메인 사이트에 PHP 프레임워크를 사용하고 CMS에 Django(파이썬에 있는)를 사용하는 데 성공했습니다.

당신이 직접 글을 쓰는 것은 정말 그렇게 복잡하지 않을 것입니다.사실 제 컨텐츠 관리 시스템 중 하나가 작동하는 방식과 유사합니다.각 "모듈"에 대한 클래스와 레코드를 선택할 데이터베이스 테이블, 개요 페이지에 표시할 열(테이블 제목), 양식 보기에 표시할 열(입력)을 지정하는 속성이 있습니다.

이미 구축된 웹사이트를 워드프레스나 줌라 같은 CMS에 끼워 넣으려고 하면 골치 아픈 일이 될 것입니다.그리고 당신이 당신의 사이트에 CMS를 구두로 연결해서 작동시켜도, 그것은 지옥처럼 부풀어오를 것입니다.

또 다른 아이디어는 Cakephp http://cakephp.org/ 을 사용하는 것입니다.Cake는 데이터베이스 구성표를 읽고 시작 및 실행에 필요한 파일을 생성할 수 있습니다(커맨드 라인 액세스 권한이 있는 경우).그것은 MVC 패턴을 사용하고 설정이 꽤 빠릅니다.나는 당신이 설명하고 있는 여러 프로젝트에 개인적으로 케이크를 사용했습니다.

워드프레스는 수동으로 하지 않고는 모든 게시물을 입력하기가 조금 어려울 수 있습니다.하지만 코드화를 너무 많이 하고 싶지 않고 모든 워드프레스나 다른 것들을 상자 밖으로 수동으로 옮기려는 의지가 있다면 CMS 시스템이 당신에게 적합할 것입니다.

좋은 질문입니다.줌라가 대답했으니 워드프레스는 제가 대답하겠습니다.저는 당신의 모든 테이블 데이터를 xml(RS 또는 WordPress)로 내보내는 php 파일을 만드는 것을 제안합니다.그러면 워드프레스 가져오기 기능을 사용하여 워드프레스로 간단히 정보를 가져올 수 있습니다.

이렇게 하면 두 테이블을 모두 유지할 수 있고 워드프레스로 정보를 완전히 가져올 수 있습니다.

당신이 관심이 있다면 당신의 테이블의 형식을 알려준다면 아마도 나는 함께 코드를 요리할 수 있을 것입니다.

마지막으로 WordPress Stack Exchange(wordpress.stackexchange.com )에서 답변을 검색하고 다시 게시해야 합니다.

몇 가지 옵션이 있습니다.

  1. PHP 템플릿을 WordPress Compatible 테마로 변환합니다.
  2. 와 기존 테마를 사용하고 TablePress Plugin을 설치하여 테이블을 관리합니다.

http://thethemefoundry.com/blog/html-wordpress/ 참조 http://wordpress.org/plugins/tablepress/ 도 참조 see 도 참조

물음표는 4개입니다.

Q. 제가 사용할 수 있는 가장 쉬운 CMS는 무엇입니까?

A. 워드프레스.

어떻게 접근해야 할까요?

A. PHP를 배웁니다.

Q. Joomla나 Wordpress 같은 것을 위한 간단한 플러그인이 있습니까? 특정 테이블을 가리키고 식별자 열을 알려주고 일치하는 모든 행을 나열하라고 말할 수 있습니까?

A. 아마도.이것은 PHP의 간단한 작업입니다.

Q. 다른 테이블도 포함해서?

A. Ditto.

다음은 달성하려는 작업에 대한 가능한 바로 가기입니다.

현재 사이트에서 RSS 집합 링크를 생성하는 경우 WP-RSS-Multi-Importer가 유망합니다.

현재 사이트에 RSS가 없지만(호스팅 제어판 / phpmyadmin 또는 mysqldump와 같은 서버 명령줄 유틸리티를 통해) 데이터베이스에 액세스할 수 있는 경우 데이터베이스를 CSV 또는 XML로 내보내고 WP-All-Import와 같은 플러그인을 사용하여 Wordpress로 가져오려고 시도할 수 있습니다.

데이터를 적절한 워드 프레스 필드에 매핑해야 하므로 이 작업에는 시간이 조금 더 걸립니다.

RSS나 데이터베이스에 대한 액세스 권한이 없는 경우 사이트를 "스크랩"해야 합니다.보통 이것은 코딩을 의미하지만 여러 워드프레스 플러그인이 사용자에게 적합합니다.여기는 많은 것이 잘못될 수 있으니, 최종 제품이 당신이 원하는 것이 아니라고 해도 놀라지 마세요.

cakephp를 사용하는 것보다 약간 낮은 수준의 접근법은 데이터베이스 처리에 많은 도움이 되는 ActiveRecord를 사용하는 것입니다.

예: PHP ActiveRecord 사용

yii나 코드이그니터와 같은 프레임워크를 사용할 수 있습니다.그들은 여러분의 삶을 매우 쉽게 만들어 줄 수 있습니다.이 프레임워크를 사용하면 CMS를 매우 쉽고 빠르게 만들 수 있습니다.

id와 같은 매개 변수를 전달할 수 있습니다.

  1. WordPress(워드프레스) 또는 Joomla(줌라) 또는 drupal(드루팔)을 사용하여 새 CMS를 설정합니다.
  2. 모든 데이터베이스 항목을 해당 CMS로 가져올 PHP를 만듭니다.

언급URL : https://stackoverflow.com/questions/14483691/easy-ways-to-convert-a-mysql-connected-dynamic-php-site-into-a-cms