Cikk kirakás kódból

karkat képe

Jó reggelt!

Arra keresem a megoldást, hogy miként lehetne kódból bejegyzést hozzáadni az oldalhoz. Próbáltam az utóbbi napokban ennek utánanézni, sajnos kevés sikerrel.
Illetve ha lenne arra is megoldás hogy ezeknek a cikkeknek címkéket is meg tudjak adni, annak plusz tudnék örülni, sajnálatos módon számomra az adatbázis szerkezet kicsit kaotikus, így nem igazán láttam át.

Köszönöm előre is a segítségeteket, és az időtöket:

Kata

szt képe

karkat képe

Köszönöm!
Az általad mutatott oldalak és egy-két hasonló oldalból valami ilyesmit raktam most gyorsan össze:
Nem tudom mennyire működőképes, mert számomra ismeretlen változókat próbáltam csupán logikailag egymás mellé rakni.

main();
function main() {
	$nodes = array();
	$nodes[1]['title'] = $ti;
	$nodes[1]['body'] = $bek.'<a href="'.$ur.'">'.$an.'</a>';
	$nodes[1]['teaser'] = $bek;
	$nodes[1]['timestamp'] = time();
	$nodes[1]['format'] = 2;
	make_nodes($nodes);
}
 
function make_nodes($nodes) {
	foreach($nodes as $new_node) {
		$node = new stdClass();
		$node->changed= $new_node['timestamp'];
                $node->type = 'blog';
		$node->status = 1;
		$node->uid = 1;
		$node->title = $new_node['title'];
		$node->promote = 1;
		$node->created = $new_node['timestamp'];
		$node->timestamp = $new_node['timestamp'];
		$node->sticky = 0;
		$node->body['und'][0]['format'] = 3;
		$node->language = 'hu';
		$node->body['und'][0]['summary'] = $new_node['teaser'];
		$node->body['und'][0]['value'] = $new_node['body'];
		$node->revision = 0;
		node_save($node);
	}
}

Néztem az api.drupal.org-on a node_save() funcion-höz tartozó leírást. Jól gondolom hogy ez el is menti az adatbázisba?

// szerkesztés

Mint rájöttem a node_save() meghívása nem jó ötlet, mert ugye ahhoz include-olni kell a "modules/node/node.module" fájlt, amihez a ..., ehhez meg a ... és így tovább. Milyen módon tudnám beírni a fenti példa alapján kapott $node tömböt az adatbázis megfelelő helyére? (Melyik ez a hely egyáltalán?)

Köszönöm előre is a segítséget!

0
0
szantog képe

Nem kell semmit sem includni node_savehez. Van a drupalnak egy okos bootstrap folyamata, az minden .module file-t beránt, ami be van kapcsolva.
Tedd fel a devel modult, lesz minden node-on devel fül, ott majd látod, hogy milyen adatok kapcsolódnak a nodehoz. Mindent nem kell belenyomni a saját ojjectedbe, sok mindent kitalál a drupal, próbálkozni kell tesztoldalon, hogy mi az, ami musthave.
Direct db-be írni erősen öntökönrúgás, egy node_save akár 50+táblába is matathat.

1
0

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.

karkat képe

Akkor is igaz amit mondtal, ha kulso helyrol szeretnek beirni az adatbazisba?

A legegyszerubb egy sima INSERT-el valo beiras lenne, de nem tudom hogy milyen adatot hova kene irni - mint emlitettem szamomra tul kaotikus az adatbazis.

0
0
szantog képe

Igen.
Nodeot nem fogsz tudni csak úgy adhoc insertekkel beszúrni.
Az elv:
1. Drupal oldaladról kérést indít
2. A fogadó oldalon megfelelő formátum előállít
3. Drupal oldalon feldolgozzuk a kimenetet.
Ez pl feeds modullal a fogadó oldalon lehet xml.

1
0

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.