2011-03-03 2 views
2

저는 드루팔 (Drupal)을 처음 사용하며 첫 페이지 중간에 플래시 게임을 삽입하려고합니다. 에 "전체 HTML"텍스트 형식을 만들었습니다. 홈 >> 관리 >> 구성 >> 콘텐츠 작성으로 이동하여 해당 형식을 사용하여 새 블록을 만들었습니다. 홈 >> 관리 >> 구조 >> 블록내용 지역으로 배치 만 < 전면 > 페이지에 그것을 표시 :드루팔 (Drupal 7 : 사용자 정의 콘텐츠 블록 만들기

enter image description here

내 문제는 내가 사용자 ID 및도 지정 성별 필드를 통과해야한다는 것입니다 swf 파일에 FlashVars 매개 변수를 추가합니다.

# select * from field_data_field_gender; 
entity_type | bundle | deleted | entity_id | revision_id | language | delta | field_gender_value 
-------------+--------+---------+-----------+-------------+----------+-------+-------------------- 
user  | user |  0 |   6 |   6 | und  |  0 | Male 
user  | user |  0 |   5 |   5 | und  |  0 | Male 
user  | user |  0 |   1 |   1 | und  |  0 | Male 
user  | user |  0 |   7 |   7 | und  |  0 | Female 

내가 사용자의 표를 참조하십시오 :

나는 (내가 PostgreSQL을 8.4.7/CentOS는 5.5/PHP 5.3을 사용하여) 데이터베이스에 내 성 필드를 볼 수 있습니다

# select uid, name from users; 
uid | name 
-----+------- 
    5 | Vasja 
    6 | Vanja 
    1 | Alex 
    0 | 
    7 | Petja 

그러나 어떻게 사용자 지정 콘텐츠 블록에 인쇄 할 수 있습니까?

거기에 이미 몇 가지 미리 채워진 데이터 구조가 있다고 가정합니다. $ 사용자 배열과 같은 것입니까?

맞춤 블록을 실행하는 데 필요한 도움과 지침을 알려주세요.

나는 문서를보고 있지만 맞춤 모듈에 대해 이야기하고 있는데, 이는 내 경우에 약간 과장 될 수있다.

또한 익명 사용자에게 로그인하거나 등록하도록 알리는 메시지를 인쇄해야합니다. 여기에 포인터를주세요.

고마워요! 알렉스

추신 내 이해는 swfobject 아직 드루팔 (Drupal 7 잘 작동하지 않습니다,하지만 그것은 나를 위해 큰 문제가되지 않습니다.

답변

1

블록 내용에 PHP 코드를 실행할 수 있기를 원하는 것 같습니다. 전체 HTML 필터 모드로는 충분하지 않습니다. PHP 필터 모듈을 살펴보십시오. 핵심에 포함되어 있지만 먼저 블록에 사용하기 전에 먼저 활성화해야합니다.

그런 다음 사용자 정의 모듈의 문서가 적용되는 정상적인 PHP 코드를 사용할 수 있습니다. 예를 들어 필요한 정보가 어디에 있는지에 따라 $ user 배열에 액세스하여 필드를 검색하거나 직접 db 호출을 할 수 있습니다.

편집 : 물론 전체 PHP 액세스 권한은 강력하며 관리자 만 허용해야합니다. 따라서 PHP 필터를 허용하는 새로운 특정 콘텐트 유형을 만들고 관리자가 아닌 다른 사용자가 해당 콘텐트 유형을 만들거나 편집 할 수없는 권한을 보장하십시오.

+0

프랭크, 고맙습니다. "이 필터의 사용은 관리자에게만 제한되어야합니다!" "익명의 사용자"와 "인증 된 사용자"근처의 확인란을 선택하지 않은 상태로 유지할 수 있습니까? 저는이 두 가지 역할 만 있습니다. –

+0

예, 이해합니다. 그러나 체크 박스 2 개를 선택하지 않은 상태로 유지하면 충분합니까? –

+0

예.그러나이 블록을 데이터베이스에 저장하는 대신 제공하는 간단한 모듈을 작성하는 것이 좋습니다. 그러면 php.module을 사용할 필요가 없습니다. – Berdir