2010-12-15 2 views
0

나는 Kohana 프레임 워크를 사용하여 PHP로 프로젝트를 만들고 있습니다. 그것은 결국 여러 사용자에 대한 지원을 할 것이고 로그인 스크린 등을 지원할 것입니다. 또한 제품이 얼마나 좋은지를 알려주고 도움말 페이지와 FAQ 등을 가지고있는 "프로모션 사이트"를 가지고 있습니다.별도의 프로모션 사이트

제 질문은 : 내 프로젝트와 판촉 사이트를 별도의 사이트 (예 : 별도의 디렉토리에 Drupal과 같은 것을 사용하는 판촉 사이트)로 갖는 이점 (dis)은 무엇입니까? 대안은 Kohana를 사용하여 프로젝트의 일부로 페이지를 구축하는 것입니다. 동일한 호스팅의 다른 디렉토리에서 두 개의 별도 프레임 워크 (Drupal 및 Kohana)를 사용하면 얼마나 효과가 있습니까? (필자는 헬프 페이지의 내용을 다루는 데 드루팔 (Drupal의 모든 것들을 가지고 있다는 생각을 좋아한다).

답변

0

drupal 물건이 다른 폴더에 있다면 실제로는 kohana에 전혀 영향을 미치지 않습니다. 별도의 폴더도 별도의 폴더 역할을합니다. help.example.com과 같은 하위 도메인에 추가 할 수도 있습니다. 당신이 좋아하는 것이 무엇이든, 문제가되어서는 안됩니다. 나는 Kohana 인 나의 주된 사이트와 함께 wordpress blog를 사용한다.

0

콘텐츠/사용자 지정 개발을위한 별도의 사이트를 운영하면 장기적으로 더 많은 작업이 끝납니다. 드루팔 (Drupal에서 테마를 업데이트 할 때마다 Kohana 프로젝트에서도 테마를 업데이트해야합니다. 또한 앞으로는 더 많은 통합이 필요합니다. 예를 들어 특정 페이지가 로그인 한 사용자 만 볼 수 있도록 할 수 있습니다.

이와 같은 상황에서는 보통 콘텐츠 부분에 대해 매우 기본적인 CMS를 개발합니다 사이트의 너무 큰 작업이 아닙니다. 다른 프로젝트에서 코드를 재사용 할 수 있도록 'CMS'모듈을 만드십시오. 페이지를 저장하기위한 '페이지'테이블과 모델을 만듭니다. 페이지 편집 인터페이스에는 TinyMCE 또는 유사한 것을 사용하십시오. CMS의 모듈의 init.php에서

, 당신은 모든 페이지를 이동하고

<?php 
$pages = Model::factory('page')->find_all(); 
foreach($pages as $page){ 
    Route::set('page_'.$page->id, $page->uri) 
     ->defaults(array(
      'controller' => 'pages', 
      'action' => 'display')); 
} 
(이 기본 < 컨트롤러 >/< 행동 > 경로 전에 확인 할 것)들을 위해 경로를 생성하는 루프를 만들 수 있습니다

콘텐츠 페이지 만 직접 편집하려는 경우 전체 페이지 편집 인터페이스를 건너 뛰고 데이터베이스의 원시 HTML을 편집 할 수 있습니다. 드루팔 (Drupal만큼 우아하지는 않지만 훨씬 더 긴밀한 통합이 가능하며 드루팔 (Drupal과 함께 제공되는 부 풀림)을 줄일 수 있습니다.

+0

왜 이렇게 많은 경로가 있습니까? 마지막 경로를 사용하여 모두 잡으려고 시도한 다음 컨트롤러가 있는지 확인하여 페이지가 있는지 확인할 수 있습니다. 그렇지 않은 경우 표시 - 404 페이지를 표시합니다. – egis

+0

사실,이 방법으로 페이지는 모든 URL을 가질 수 있습니다. 예를 들어 "products/toys/baby/super-toy-2000"과 같이 중첩 된 페이지가 필요할 수 있습니다. 정규식을 사용하여 동일한 작업을 수행 할 수 있지만 각 페이지로드에 오버 헤드가 추가되지는 않습니까? – Jordan

관련 문제