Node-ba js, css
Üdv!
Hogyan kellene szépen tartalomba js, css-t betenni?
Az "eredeti" html ilyesmi:
Üdv!
Hogyan kellene szépen tartalomba js, css-t betenni?
Az "eredeti" html ilyesmi:
A Harmadik Budapesti Drupal Használói Találkozó után hazajöttem, kinéztem egy pofásabb sminket és bár nem jártam rögtön gobai magasságokban, azért másfél órán belül csak sikerült ráhúznom a Drupal 6.1 -re. Szerettem volna megosztani a közösséggel, de hamar kiderült, hogy ez licensz akadályokba ütközik. Adta magát az ötlet, hogy készítsek egy oldalt ahol ezt megtehetem magamnak. Sminkblog kvázi, igazából yet another place for themes. Sose elég. :)
tehát akkor preprocessora is van, amit a template.php -ban valósíthatsz ugye meg.
ez az eredeti egy olyan átírata, ami egy "thumb" nevű sablonnal készíti el a user képét minden esetben:
function SMINKNEVE_preprocess_user_picture(&$variables) { $variables['picture'] = ''; if (variable_get('user_pictures', 0)) { $account = $variables['account']; if (!empty($account->picture) && file_exists($account->picture)) { $picture = file_create_url($account->picture); } else if (variable_get('user_picture_default', '')) { $picture = variable_get('user_picture_default', ''); } if (isset($picture)) { $alt = t("@user's picture", array('@user' => $account->name ? $account->name : variable_get('anonymous', t('Anonymous')))); #figyi itt nyulunk bele $variables['picture'] = theme('imagecache', 'thumb', $picture, $alt, $alt, array()); #belenyulas vege if (!empty($account->uid) && user_access('access user profiles')) { $attributes = array('attributes' => array('title' => t('View user profile.')), 'html' => TRUE); $variables['picture'] = l($variables['picture'], "user/$account->uid", $attributes); } } } }
végülis csak egy értékadást írtunk felül, hogy ne a theme('image' .. -en kergesse át a képet, hanem a theme('imagecache' .. -en.
ha ennél bonyolultabb kell, kérdezz bátran.
és légyszi ne csináljad, hogy ilyen címkéket adsz meg kapcsolódó modulnak, hogy "imagecache(?)" a kérdőjel nem kellene szerintem, az nem a modul neve.
itt az eredeti előfeldolgozó:
http://api.drupal.org/api/function/template_preprocess_user_picture/6
fél sort változtattunk. ;)
-
clear: both;
Emlékeim szerint pont ilyen esetre írtam (nem vagyok programozó, így lehet nem teljesen "szakszerű" a kód), illetve arra is jó, hogy akármekkora adatbázist fel lehet vele tölteni.
Egy próbát megér.
Felmásolod FTP-n az adatbázisod, majd a lenti kódot (az adatok kitöltése után) berakod egy php fájlba. Ezt a fájt mellémásolod az adatbázisnak és böngészőből futtatod.
<?php set_time_limit(0); $fa=fopen('fájlnév.sql','r'); $mySQLserver = 'localhost'; $mySQLuser = 'username'; $mySQLpassword = 'password'; $mySQLdefaultdb = 'databasename'; $mySQLConnection = mysql_connect($mySQLserver, $mySQLuser, $mySQLpassword) or die( 'Nem lehet kapcsolodni' ); mysql_select_db($mySQLdefaultdb) or die( 'Nem tudok valasztani' ); mysql_query("SET NAMES UTF8"); mysql_query("SET CHARACTER_SET utf8"); print "Start !<br>"; $query=""; $s = 0; while (!feof($fa)) { $sor=trim(fgets($fa)); if ($sor) {if ($sor[0]!="-" and strlen($sor)>6) $query.=$sor;} if (substr($query,-1,1)==";") { print $s++."<br>"; $rezz=mysql_query($query) or print(mysql_error()."<br><h1>".$sor."</h1>"); $query=""; } } fclose($fa); print "End !<br>"; ?>
...mit tudok: http://web.termuves.hu
megoldottam. :)
Nem biztos hogy a legszebb megoldás, de müködik.
Kicsit átírtam a node.module fájlt.
Nem bizos hogy szükség van a statikusan tárolni a parse_url($db_url) függvény eredményét mert gyakran csak 1 node insert történik egy oldal lekérésközben, de asszem hogy én olyan modult írok ami többet is fog egyszere insertálni.
Szóval a módosítások Drupal 4.6.3 esetén:
410. sor környékén van egy ilyen elágazás a node_save() függvényben.
itt ágazik el az a rész hogy INSERT vagy UPDATE
és az elágazás elé ezt írtam:
csere erre:
most így müködik rendesen.
Azért gyanítom, hogy csak nálam van a hiba mert ez olyan dolog ami 1 perc alatt kiderül ha nem müködik.
Szeretnék visszajelzést, hogy más tapasztala-e ezt a jelenséget.
PostgreSQL sever telepítéssel együtt is csak 10 perc.
Köszönöm :)