Sziasztok!
Van egy D6-ra készült modul, amit most átkéne alakítanom D7-re. Eddig még nem foglalkoztam ilyen jellegű fejlesztéssel ezért kérnék tőletek segítséget. Elkezdtem átolvasni az apikat és kiszűrni a különbségeket a D6 és D7 között, de vannak apróságok amiken még elcsúszik a dolog.
Van az alábbi kód:
function template_preprocess_forex(&$variables) {
$header = array(
array(
'data' => t('Symbol'),
'field' => 'symbol',
),
array(
'data' => t('Bid'),
'field' => 'bid',
'class' => 'rightcell',
),
array(
'data' => t('Ask'),
'field' => 'ask',
'class' => 'rightcell',
),
);
$result = db_query('SELECT * FROM {gft_cache} WHERE forexid IN (%s)' .
tablesort_sql($header),
variable_get('gft_api_forexids_page', '1,2,3,4'));
$variables['header'] = variable_get('gft_api_header', '');
$variables['content'] = theme('table', array('header' => $header, 'rows' => _fetch_quote_table($result), 'attributes' => array('class' => 'gft_page')));
}
Ebből amennyire apiből kiszűrtem a querys rész nem megfelelő. Alapból ez a tablesort_sql nem stimmel, de nem találok számomra átlátható példát, hogyan kéne. Megmutatná valaki, hogy hogyan kéne ez a lekérdezés kinézzen D7-ben? Ez alapján a többit már elvben megtudnám csinálni. :) Ha van még a kódban olyan dolog ami nem D7 kompatibilis akkor szóljatok.
A másik, hogy az install schema se akar jó lenni, de azt nem értem miért. Kivettem belőle a t() fvket a hook_install és a hook_uninstall részeket is manual alapján elvben azok már nem kellenek.
A db mezők létrehozásánál azonban elakad. Ezzel a részel mi a bibi?
/**
* Implements hook_schema().
*/
function gft_api_schema() {
$schema['gft_cache'] = array(
'description' => 'Stores forex feed values in a data table',
'fields' => array(
'forexid' => array(
'type' => 'int',
'unsigned' => TRUE,
'not_null' => TRUE,
'default' => 0,
'description' => 'Forex feed ID from xml',
),'symbol' => array(
'type' => 'varchar',
'length' => 32,
'not null' => TRUE,
'default' => '',
'description' => 'Forex feed currency symbol',
),
...
return $schema;
Leírás alapján én nem látom, hol van benne hiba.
Kérnék valakit akinek van egy kis ideje és türelme segíteni egy picit a fenti kódrészletekkel az segítsen. Nagyon szépen köszönöm.
Dávid