2012-05-28 4 views
1

내가 개발하고있는 사이트에서 사용자가 자신의 프로필 페이지에 자신의 사용자 지정 "css"를 설정하게하고 싶습니다.사용자 프로필 custom css

예를 들어, 사용자는 js 색상 선택 도구를 사용하여 <body>의 배경색을 선택할 수 있습니다.

그런 다음 php로 'css-ready'문자열을 만들고 db에 저장하십시오.

내가 묻는 바는 : 사용자가 다른 사용자 프로필을 입력 할 때마다이 CSS를 적용 할 수있는 방법은 무엇입니까?

아마 거기에 사용자 정의 할 수있는 일이 많이있을 것입니다, 그래서 큰 CSS 문자열이 될 것입니다 그리고 난 크로스 브라우저 될 것입니다 뭔가가 필요하고 자바 스크립트없이도 작업이 가능하면 ..

감사합니다 .

+2

정말 질문이 무엇인지 볼 수있다 사용할 수 있습니다. – gdoron

+1

사이트 구축 방법에 전적으로 달려 있습니다. 자세한 내용이 없으면이 질문에 답할 수 없습니다. –

+0

처음에는 CSS 환경 설정을 데이터베이스에 저장할 수 있으며 로그인 할 때마다 CSS 파일의 내용을 환경 설정으로 바꿀 수 있습니다. – magicianiam

답변

0

당신이 사용자 profile.tpl.php

<?php 
if(isset($account->user_css)){ 
?> 
<style> 
<?php echo $account->user_css; ?> 
</style> 
<?php 
} 
?> 
+0

이것 또한, 고마워. – Fr0z3n

1

Content-type text/css에 대한 PHP를 사용하여 데이터베이스에서 가져온 텍스트에 따라 echos를 적용 할 수 있습니다. 기본 CSS를 웹 사이트에 추가하고 링크 태그 목록의 마지막 목록을 만들 수 있습니다 해당 PHP 파일에이 방법을 사용하면 기본 CSS를 사용하여 폴백 할 수 있으며 사용자 정의 CSS를 정의한 경우 기본값 위에 CSS를 적용 할 수 있습니다.

+0

This! 고맙습니다! – Fr0z3n

1

asp.net의 Handler를 사용하여이 작업을 수행 할 수 있습니다. 비슷한 해결책이 PHP에서도 가능할 것이라고 확신합니다. 먼저 각 사용자의 데이터베이스에 스타일 속성을 저장해야합니다. 스타일 구문 (선택기 이름, 중괄호, 세미콜론 등)이 순서대로되어 있는지 확인하십시오. 세션 객체에서 사용자 정보를 가져 오거나 쿼리 문자열을 사용하여 변수를 핸들러에 전달할 수 있습니다.

을 그리고 이것으로 당신은 갈 준비가되어 있어야 : 텍스트/CSS를 같이 - 핸들러로부터받은

응답은 직접 콘텐츠 형식으로 태그 사이에 넣어 수 있습니다!

그러나 페이지가로드 될 때마다 성능 손실이 발생하며 전체 파일이로드됩니다 (일반 CSS 파일에서는 한 번만로드됩니다). 사용자가 실제로 사용자 지정하고자하는 데이터베이스의 항목 만 저장하는 것이 좋습니다. 더 나은 성능을 위해 부모 CSS 파일과 함께 캐스케이드 할 수 있습니다.