2011-03-08 2 views
0

복잡한 문제에 대한 해결책을 설계하는 데 어려움이 있습니다. 나는 css 파일과 html 파일을 포함한 html 템플릿을 만드는 사이트를 만들고 있습니다. 사용자는 여러 템플릿/사이트를 만들 수 있습니다.MySQL의 html과 css

사용자 테이블 (ID, 이름, 전자 메일, 암호 등), 사이트 목록 테이블 (user_id, site_id, site_name, description) 및 나머지는 정규화 된 데이터베이스를 만들려고 시도합니다. 알아내는 데 어려움이있다.

나는 html 파일과 css 파일을 디자인 된 템플릿을 재현하는 데 사용할 수있는 데이터베이스로 분해하는 방법을 개발하려고합니다. 템플리트를 작성/편집 할 때 데이터베이스에 대한 지속적인 편집 및 추가가 수행됩니다. 기본적으로 매우 단순화 된 드림위버입니다. 플랫 파일도 옵션 일 수 있습니다.

모든 사이트에 대한 제안이나 제안 사항은 html과 css를 mysql 테이블/레코드로 분해하는 방법과 같이 매우 만족 스러울 것입니다. 코드를 찾는 것이 아니라 해당 사이트의 기본 개념/작동법을 찾는 것입니다. 미리 감사드립니다.

+0

데이터베이스에 CSS 및 HTML 구조를 나타내시겠습니까? –

+0

사용자가 템플릿을 완벽하게 제어하기를 원합니다. 한 사용자는 템플릿에 10 개의 요소 (div, p, a 등)를 가질 수 있으며, 다른 사용자는 100을 가질 수 있습니다. 요소는 레벨 제한없이 중첩 될 수 있습니다. 나는 변화를 만들 수있는 요소를 추가/제거 할 수 있고 배경, 경계선 등과 같은 CSS 속성을 추가 할 수 있다는 점을 기억하는 가장 좋은 방법은 확실하지 않다. – Tony

답변

0

템플릿을 텍스트 파일에 저장 한 다음 데이터베이스에 CSS 속성이나 이미지 등의 설정을 저장할 수 있습니다. 그렇게하면 적용된 설정으로 템플릿을로드하기 만하면됩니다.

+0

템플릿이 생성 될 것이다. 예를 들어 사용자는 div 요소를 만들고 일부 CSS 구성 요소를 div에 적용한 다음 단락 요소를 추가하고 div의 요소를 자체 CSS 속성으로 나열합니다. – Tony

+0

요소가 제한없이 중첩 될 수 있으면 저장하지 않는 것이 좋습니다 데이터베이스가 아닌 파일의 템플릿을 사용하면 데이터베이스가 매우 느려질 수 있습니다. – Will

+0

수정 된 선매 트리 탐색 알고리즘을 사용하여 mysql 테이블에 html의 계층 구조 수준을 저장하는 테이블을 보았습니다. 그러면 css 속성을 저장할 추가 테이블을 가질 수있었습니다. 이렇게하면 요소를 쉽게 추가하고 제거 할 수 있습니다. 플랫 파일을 사용하는 경우 전체 파일을 읽고 수정해야하는 문자열로 저장 한 다음 변경이있을 때마다 전체 파일을 다시 작성해야합니다. 데이터베이스 옵션이 훨씬 빠르며 서버에서 작업하는 횟수가 줄어들지 만 틀릴 수 있다고 생각했습니다. – Tony

1

우선, 해당 콘텐츠를 데이터베이스에 저장 하시겠습니까? DocumentRoot 내부의 파일 시스템에 파일로 생성하고 웹 서버에서 직접 처리 할 수 ​​있으므로 서버에 많은 부담을 안겨줍니다. 데이터베이스에 구성 옵션 (색상 선택, 이미지 이름 등)을 저장하는 것을 볼 수 있지만 파일 자체는 볼 수 없습니다.

웹 사이트에 고객이 원하는 콘텐츠가 있거나 테마가 유사 할 수 있습니까? 그것이 전자의 경우, 당신은 정말로 그것을 많이 자동화 할 수 없습니다. 파일 대신 데이터베이스에 내용을 저장할 수는 있지만 실제로 이점은 없습니다.

WordPress/Joomla와 같은 CMS 프로그램이 별도의 포함 파일 (머리말, 꼬리말, 왼쪽 메뉴, 오른쪽 메뉴 등)로 분리되어이를 모델로 사용하는 방법을 살펴 보는 것이 가장 좋습니다. 고객이 템플리트를 선택하고 각 템플리트는 다른 내용으로 개별적으로 배치 할 수있는 섹션을 정의합니다.

+0

이 사이트의 목적은 기본 드림위버와 유사합니다. 사용자는 공백 페이지로 시작하여 요소 추가를 시작합니다. 단락, 목록 등의 내용도 포함됩니다. 사용자는 언제든지 자신의 템플릿을보고 다운로드 할 수 있습니다. 이게 뭐가 바뀌 었 니? – Tony