Varlık meta veri sarmalayıcıları
Varlık API'si, varlıklar ile kolayca ilgilenmek ve sağlanan varlık özelliği modüllerinden yararlanmak için kullanabileceğiniz bazı sarıcı sınıfları sağlar. Sarmalayıcıların yardımıyla özellik bilgilerine erişebilir, bilinen özellikler arasında geçiş yapabilir veya yalnızca açıklanan veri değerlerini alabilir / ayarlayabilirsiniz.
Bunlar README'de bulunan bazı basit kullanım örnekleridir:
Bu bilgileri (meta veriler) kullanmak için modül, değerleri almayı ve ayarlamayı kolaylaştıran bazı sarıcı sınıfları sağlar. Sarıcı, varlık özelliklerinin sarıcılarını almak için zincirleme kullanımı destekler, örneğin bir düğüm yazarının posta adresini kullanmak için:
$wrapper = entity_metadata_wrapper('node', $node);
$wrapper->author->mail->value();
Kullanıcının posta adresini güncellemek için
$wrapper->author->mail->set('sepp@example.com');
veya
$wrapper->author->mail = 'sepp@example.com';
Paketleyiciler her zaman doğrudan entity_get_property_info () üzerinden veya paketleyiciden alınabilecek özellik bilgilerinde açıklandığı gibi verileri döndürür:
$mail_info = $wrapper->author->mail->info();
Çıktı için sterilize edilmiş bir metin değeri almaya zorlamak için, örneğin;
$wrapper->title->value(array('sanitize' => TRUE));
sterilize edilmiş düğüm başlığını almak için. Bir özellik, düğüm gövdesi gibi varsayılan olarak zaten sanitize edilmiş olarak döndürüldüğünde, muhtemelen sanitize edilmemiş verileri diğer kullanım durumları için bir tarayıcıda göründüğü gibi almak ister. Bunu yapmak için, herhangi bir sterilize edilmiş veri için etiketlerin çıkarılması ve HTML öğelerinin özellik döndürülmeden önce kodunun çözülmesini sağlayan 'kod çözme' seçeneği etkinleştirilebilir:
$wrapper->body->value->value(array('decode' => TRUE));
Bu şekilde, veriler her zaman kullanıcıya gösterildiği gibi alınır. Bununla birlikte, sterilize edilmiş metin verileri için bile ham, işlenmemiş değeri gerçekten elde etmek istiyorsanız, bunu şu şekilde yapabilirsiniz:
$wrapper->body->value->raw();
Daha fazla örnek:
$wrapper->body->set(array('value' => "content"));
$wrapper->field_text[0] = 'the text';
$wrapper->field_text[0]->set(array('value' => "content"));
$wrapper->field_text2->summary = 'the summary';
$wrapper->field_text2->value = 'the text';
$wrapper->save();
$wrapper->delete();
Daha fazla doküman : http://drupal.org/node/1021556