2009-06-13 4 views
0

나는 하나의 노드에서 다른 노드로 PHP 변수 (변수로!)를 전달하기 위해 node_load를 사용하려고하는데 행운이 없다.Drupal : 한 노드의 PHP 변수를 다른 노드에 삽입 할 수 있습니까?

즉, 노드/1에서 나는 노드/2에서 PHP 구문 분석을 위해 사용할 수있는 많은 변수를 나열했습니다.

가능합니까?

편집 : 보유


$var1 = "Some text";

2 페이지 (www.something.com/node/2)

1 페이지 (www.something.com/node/1)의 본문 텍스트가 본 본문에이 텍스트 :

  
    $node = node_load(1); 
    print $node->body; 
    print $var1; 

는 내가 PHP의를 사용하는 것처럼 (포함 된 파일로) 노드 콘텐츠를 사용하려면 내가이 possibl 것을 확실하지 않다 기능을

+0

당신은 정말 당신이 무슨 일을하는지에 대한 자세한 정보를 제공 할 필요가 (당신이 그것을 밖으로 인쇄하거나 그런 일 후 '변수에'를 설정). –

+0

Page 1 (www.something.com/node/1) 본문에이 텍스트가 있습니다. 페이지 2 (www.something.com/node/2)에는 본문이 있습니다 : body; 인쇄 $ var1; ?> PHP의 include 함수를 사용하는 것처럼 노드 내용 (포함 된 파일로)을 사용하고 싶습니다. –

답변

-1

포함 전자 node_load를 사용하지만, 다음과 같이 variable_set 및 variable_get를 사용할 수 있습니다

페이지 1 :

variable_set('var1','Some text'); 

페이지를 2 :

$getvar = variable_get('var1',NULL); 
print "var1 is " . $getvar; 
+0

variable_get() 및 variable_set()은 단일 사용자 또는 페이지로드에만 해당하는 것이 아닌 시스템 전체 설정을 저장하기위한 것입니다. –

+0

완벽한 !! 저에게 감사드립니다 Dan U. –

+1

숀이 그의 코멘트와 대답에서 지적한대로, 이것은 진정한 애플리케이션 - 아키텍처 픽스보다 더 많은 해킹입니다. –

1

당신이 평가 후면 사용에 대한 요구하고처럼 소리() 첫 번째 노드의 내용.

정말 물어볼 필요가 있습니다. 왜 이런 식으로하고 싶은지. 이런 종류의 디자인은 정말로 "그가 &이 무엇을하고 있는지 알지 못한다"고 외쳤다. Node1에 저장할이 데이터는 무엇입니까? 왜 다른 노드에서 필요합니까? 노드의 속성으로 저장할 수없는 이유가 있습니까?

+0

이것은 조사 할 수있는 또 다른 대답입니다. 나는 잠시 숨을 쉬어야합니다. 고마워요 ... –

0

정말 이런 식으로해야한다면, 무제한 값 (field_value라고도 함)으로 CCK 텍스트 필드 필드를 만들고보기에 숨기려면 디스플레이로 들어가야합니다. 그렇다면 다음과 같이 할 수 있습니다 :

실제로이 주제를 다루는 것과 같은 여러 가지 방법을 고려해야합니다. 이 속임수로 무엇을 하려니?

+0

또 다른 좋은 아이디어, 곧 조사 할 사람 ... –

0

내가 작업하고있는 사이트가 비 커뮤니티, 일회성 방문 페이지 상황이기 때문에 신속하고 더러운 솔루션을 찾기 위해 엄청나게 압박감을 받았다. 나는 Dan U의 제안을 사용하기로 결정했습니다. .

페이지 1 : 바르게 독립형 PHP에서 수행,하지만 난 그것에 대해 선택의 여지가되어야 하는지를, 내가 드루팔에

$getvar = variable_get('var1',NULL); 
print "var1 is " . $getvar; 

간단히 만드는거야 : 2

variable_set('var1','Some text'); 

페이지 ...

60 개의 URL이있는 거의 동일한 방문 페이지, 이벤트 가입, 설명 팝업 및 기타 종소리와 호각이 포함 된 2 개의 다른 그래픽 캘린더. 나는 VIEWS에서 논쟁을하고 싶었지만 팝업이 나를 죽였다.보편적 인 변수로 각 페이지를로드하기 위해서는 꽤 많은 요소가 필요합니다. 필연적 인 변경이 줄줄이 내려 가면 편집이 가능할 것입니다.

죄송합니다. 불분명하다면, 설명하기가 어렵고 복잡하며 시간이 많이 걸립니다 ... 다시 한 번 감사드립니다!

+0

당신이 원하는 블록을 사용하십시오. 그들은 모든 페이지에 자연스럽게로드 될 수 있으며 여전히 쉽게 편집 할 수 있습니다. –

0

PHP 세션 변수를 사용하여 그 효과를 얻을 수도 있습니다. 1 페이지

:

$_SESSION['variableName'] = 'somevalue'; 

및 2 페이지

:

<?php print $_SESSION['variableName'] ?> 

드루팔는 등 자신의 쿠키를 설정하려고하지만 세션 변수가 보일 때 몇 가지 이상한 일을 수행 일 찾기. 너 자신 후에 청소하는 것을 잊지 말라! 내가 질문을 이해하지 못하는거야 -

제이슨

관련 문제