по поводу префикса (с конкретикой):
свой модуль "asset", - управление активами(оборудованием) компании, тянет данные из разных промышленных систем типа SAP HR, SAP ERP и т.д.
и вот этих всяких табличек (а там еще таблички со справочниками дополнительными ) их там уже столько... как следовских, и вот я эти два больших набора табличек префиксом разделяю для удобства нахождения и бекапов.
slaed.s6_blocks (стандартная следовская с префиксов s6) и slaed.assets_sklad (табличка модуля с префиксом assets)
теперь что получается в коде:
за основу берем например из модуля новостей function news_list() - нужен аналогичный вывод списка...
код....
...
$result = $db->sql_query("SELECT id, grmat, nn, name, factory FROM assets_sklad ".$order." ORDER BY factory, sklad, name LIMIT ".$offset.", ".$listnum); if ($db->sql_numrows($result) > 0) { while(list($id, $grmat, $nn, $name) = $db->sql_fetchrow($result)) { ....... ....... } } echo $cont;
и тут вообще не каких проблем, я использую стандартный функционал и указываю FROM assets_sklad - нужный префикс в запросе.
но на выходе я получаю список из 7000!!! строк... логично что я хочу разбить вывод на страницы скажем по 100.
и для этого я беру функцию num_article()
и вот тут то и кроется вся ***опа
num_article("pagenum", "assets", $listnum, $field, "id", "_sklad", "", $ordernum, 10);
передать я могу ТОЛЬКО имя таблички БЕЗ ПРЕФИКСА _sklad , а эта мерзость конечно в запросе допишет s6 потому что кто то там (кто бы это мог быть?) жестко прописал переменю $prefix.
и конечно функция не чего не выведет, т.к. обращается к не существующей табличке.
а вот по уму в функцию нужно было сразу добавлять еще один аргумент для передачи своего префикса функции, и делать проверку на стороне выполнения этой функции пустой ли этот аргумент,
да конечно есть уйма способов мне это поправить в этой функции... но ведь там везде так, все ядро состоит из функций с жестко прописной в запросе $prefix, хотелось бы что бы это было переосмыслено, например что бы $prefix был (мог быть) массивом префиксов, а в функциях была возможность передать id префикса, и если аргумент "пуст" берем $prefix[0] - системный, заданный при инсталляции....
Внимание анекдот ©: что точно изменят в новой версии SLAED ?
- форум станет еще уже