2011-01-15 4 views
0

私はCCKとビューに大きく依存するDrupal 6サイトで作業しています。私はiPhone用のwebappでコンテンツを使いたいと思っています。 webappはHTMLとCSSで構築され、最終的にPhoneGapなどを使用してネイティブに変換され、JQuery ajax呼び出しを使用して書式設定されたHTMLをインポートします。計画は、各ページに必要なデータを返すビューをWebサイトに作成し、そのビューのテンプレートを作成して、そのデータを正しい形式で出力することです。カスタムテンプレートのCCKアイテムを出力する

私は苦労しているHTML出力で非常に規範的にする必要があります。私はあまりDrupalのテンプレートに精通していないし、ノードを出力するときにたくさんのHTMLが作成され、すべてがサイトテンプレートにも含まれているように思える。私は自分が望むものを正確に出力できる必要があります。

<div class="customclass"> 
    <?php echo($cckfield) ?> 
</div> 
<?php foreach($cckarray as $key -> $value) { 
    echo(some html using $key and $value); 
}?> 

上記の擬似コードは、必要とされる制御のレベルを示すことを望みます。これは、コアまたはモジュールを使用して可能ですか?または、Viewsに行くのではなく、自分のページをロールしてAPIを使用する必要がありますか?

+0

私はここであなたの問題を正確に見ることができません。あなたはDrupalによって生成されたすべてのHTMLを削除し、より軽量な構造に置き換えることを話していますか?または、ページ自体を構成する値を出力する方法は? – DrColossos

+0

私はDrupalで生成されたHTMLは必要ありません。文字通りテンプレートで定義した内容なので、これをウェブページに直接ドロップすることができます – Macros

答えて

0

この問題は、多数のファイルがまとめて収集され、出力ファイルにマージされることが原因です。クリーンなHTMLが必要な場合は、最終出力を構成するさまざまなファイル(page.tpl、さまざまなモジュールファイルなど)を調べる必要があります。

基本HTML出力を変更する最も良い方法は、すべてのサイトが渡されるオブジェクト$nodeのうち、必要のないものすべてをフィルタリングすることです。また、整形済みおよび非整形済みのすべてのCCK値および他のすべてのフィールドも保持します。 HTMLなしのカスタムテンプレートを作成すると、$nodeの裸の値は、あなたに必要なものを与えるはずです。

+0

どのようにして正確に行うことができますか?どのように私は使用されている階層内のsite.tplと他のテンプレートを停止するのですか?私は、私が探しているのは、HTML出力よりRSSフィードに近いと思っています。おそらく、これらの行に沿ったものがありますか? – Macros

+0

これは動作するはずなので、実際には停止できません(少なくとも私にはわからない)。しかし、私が言ったように、生成されるHTMLを完全に制御するためには、HTMLを保持している残りのテンプレートを '$ node'オブジェクトから削除する必要があります。 – DrColossos

関連する問題