0

コンテンツ タイプを作成しましたが、多くのノードがあります。そして、フロントページに表示するためのカスタム モジュールを作成します。

私のノードの順序:

 $themeurl = '/drupal/'.path_to_theme().'/images';
    $sql = "SELECT * FROM `node`
            LEFT JOIN `field_data_field_anasayfa_catwalk` ON `field_data_field_anasayfa_catwalk`.`entity_id` = `node`.`nid`
            WHERE type = 'designers_albums'
            AND `node`.`status` = 1
            AND `node`.`language` = '".$language->language."'
            AND `field_data_field_anasayfa_catwalk`.`field_anasayfa_catwalk_value` = 1
            ORDER BY `node`.`created` ASC";

しかし今、Weightモジュールをインストールして、重みでソートしたい。このオプションを変更するにはどうすればよいですか? ありがとうございました。

4

1 に答える 1

3

エンティティ (ノード) の重みはweight_weightsデータベース テーブルに格納されます。そのクエリを試すことができます

     $sql = "SELECT * FROM `node`
        LEFT JOIN `field_data_field_anasayfa_catwalk` ON `field_data_field_anasayfa_catwalk`.`entity_id` = `node`.`nid`
        LEFT JOIN `weight_weights` AS w ON w.entity_id=`node`.`nid`
        WHERE type = 'designers_albums'
        AND `node`.`status` = 1
        AND `node`.`language` = '".$language->language."'
        AND `field_data_field_anasayfa_catwalk`.`field_anasayfa_catwalk_value` = 1
        ORDER BY w.weight, `node`.`created` ASC";

ところで、将来的には、Drupal データベース抽象化レイヤーまたは EntityFieldQuery を学習することを検討する必要があります。

于 2013-01-17T15:52:35.697 に答える