Eğer biraz daha fazla bilgi (modüller?) sağlayabilir. genellikle, muhtemelen yerine programlama bir form aracılığıyla geçmek için çalışmakla içerik türü oluşturmak için modüller işlevlerini çağıran öneririm. Bu şekilde uygulama hakkında endişelenmenize gerek yok, ve modül çalışır eğer, o da sizin için komut dosyası çalışmaya edeceğiz güvenebilirsiniz :)
Tabii bu onların için modül kravat yok, bu yüzden onların fonksiyonlarında herhangi bir değişiklik seninkini etkileyebilir. (Onlar da kendi veritabanı yapısını güncellemek eğer ama sonra tekrar, bu riski)
ex.
// your file.php
function mymodule_do_stuff() {
cck_create_field('something'); // as an example, i doubt this
// is a real CCK function :)
}
edit: vid
ve nid
Kimlik düğüm vardır, vid
revizyon kimliği ve nid
birincil belirli bir düğüm anahtar. Bu gerçek bir düğüm, çünkü iki işlemi yapmak zorunda kalabilirsiniz.
programatically create a node
Tüm tam alanlara (masalar node
ve node_revisions
) için veritabanı başvurmak gerekir, ama bu size bir temel çalışma düğüm almalısınız:
$node = (object) array(
'nid' => '', // empty nid will force a new node to be created
'vid' => '',
'type' => 'simplefeed'. // or whatever this node is actually called
'title' => 'title of node',
'uid' => 1, // your user id
'status' => 1, // make it active
'body' => 'actual content',
'format' => 1,
// these next 3 fields are the simplefeed ones
'url' => 'simplefeed url',
'expires' => 'whatever value',
'refresh' => 'ditto',
);
node_save($node);
Şimdi i think otomatik olarak aramak gerekir bu noktada hook_insert()
adlı SimpleFeed. değilse, o 2'ye gitmek. ama ben zaten dışarı çalışıp çalışmadığını görmek için kontrol ediyorum.
call it yourself!
simplefeed_insert($node);
edit2: drupal_execute()
bazı doğrulama geri alabilirsiniz, ya da kötü bir fikir değil, ama siz değilseniz, bu şekilde form API ile uğraşmak zorunda değilsiniz onunla rahat. I node_save()
zaten bütün kancaları çağırır eminim, bu yüzden gerçekten sadece bu yöntemle altında adımı 1 yapmak olmalıdır.