Neurochirurgie minim invazivă
"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv. Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice. www.neurohope.ro |
Prestashop - Adaugare flag nou pe comenzi
Last Updated: Jun 21 2017 13:59, Started by
h0tice
, Jun 21 2017 09:12
·
0
#1
Posted 21 June 2017 - 09:12
Salutare,
Vreau sa fac o mica modificare in adminul de Prestashop. Doresc sa imi fie mai usor sa urmaresc ce comenzi au fost incasate (nu ma ajutata status-urile, pentru ca acelea sunt vazute de clienti). Ce am facut pana acum... - am adaugat o coloana noua in tabela ps_orders: ps_orders-add-column.jpg 31.68K 24 downloads - in AdminOrdersController.php, on line 67 I added is_paid, Acel select a devenit: $this->_select = ' a.id_currency, a.id_order AS id_pdf, CONCAT(LEFT(c.`firstname`, 1), \'. \', c.`lastname`) AS `customer`, osl.`name` AS `osname`, os.`color`, IF((SELECT so.id_order FROM `'._DB_PREFIX_.'orders` so WHERE so.id_customer = a.id_customer AND so.id_order < a.id_order LIMIT 1) > 0, 0, 1) as new, country_lang.name as cname, is_paid, IF(a.valid, 1, 0) badge_success'; - in AdminOrdersController.php, incepand cu linia 153 am adaugat: 'is_paid' => array( 'title' => $this->l('Incasata'), 'active' => 'statuspaid', 'filter_key' => $alias.'!is_paid', 'align' => 'text-center', 'type' => 'bool', 'class' => 'fixed-width-sm', 'orderby' => false ) - acum, cu modificarile respective, in interfata de comenzi din admin am noua coloana, care este populata corespunzator, cu valorile din baza de date: ps_orders-new-columns-in-admin.png 40.45K 21 downloads Mai am o mica problema, pe care nu reusesc sa o rezolv... Atunci cand dau click pe X-ul rosu sau pe V-ul verde, sa se modifice status-ul, asa cum se intampla, de exemplu, cu activarea/dezactivarea produselor. In momentul asta, la click, pagina se incarca din nou, dar nu se modifica nimic in baza de date... Ceva idei? Unde sa ma uit, ce sa modific? Multumesc! |
#2
Posted 21 June 2017 - 09:36
Defineste campul nou adaugat si in clasa Order.php
public static $definition = array( 'table' => 'orders', 'primary' => 'id_order', 'fields' => array( 'id_address_delivery' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true), 'id_address_invoice' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true), 'id_cart' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true), 'id_currency' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true), 'id_shop_group' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'), 'id_shop' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'), 'id_lang' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true), 'id_customer' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true), 'id_carrier' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true), 'current_state' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'), 'secure_key' => array('type' => self::TYPE_STRING, 'validate' => 'isMd5'), 'payment' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName', 'required' => true), 'module' => array('type' => self::TYPE_STRING, 'validate' => 'isModuleName', 'required' => true), 'recyclable' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'), 'gift' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'), 'gift_message' => array('type' => self::TYPE_STRING, 'validate' => 'isMessage'), 'mobile_theme' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'), 'total_discounts' => array('type' => self::TYPE_FLOAT, 'validate' => 'isPrice'), 'total_discounts_tax_incl' => array('type' => self::TYPE_FLOAT, 'validate' => 'isPrice'), 'total_discounts_tax_excl' => array('type' => self::TYPE_FLOAT, 'validate' => 'isPrice'), 'total_paid' => array('type' => self::TYPE_FLOAT, 'validate' => 'isPrice', 'required' => true), 'total_paid_tax_incl' => array('type' => self::TYPE_FLOAT, 'validate' => 'isPrice'), 'total_paid_tax_excl' => array('type' => self::TYPE_FLOAT, 'validate' => 'isPrice'), 'total_paid_real' => array('type' => self::TYPE_FLOAT, 'validate' => 'isPrice', 'required' => true), 'total_products' => array('type' => self::TYPE_FLOAT, 'validate' => 'isPrice', 'required' => true), 'total_products_wt' => array('type' => self::TYPE_FLOAT, 'validate' => 'isPrice', 'required' => true), 'total_shipping' => array('type' => self::TYPE_FLOAT, 'validate' => 'isPrice'), 'total_shipping_tax_incl' => array('type' => self::TYPE_FLOAT, 'validate' => 'isPrice'), 'total_shipping_tax_excl' => array('type' => self::TYPE_FLOAT, 'validate' => 'isPrice'), 'carrier_tax_rate' => array('type' => self::TYPE_FLOAT, 'validate' => 'isFloat'), 'total_wrapping' => array('type' => self::TYPE_FLOAT, 'validate' => 'isPrice'), 'total_wrapping_tax_incl' => array('type' => self::TYPE_FLOAT, 'validate' => 'isPrice'), 'total_wrapping_tax_excl' => array('type' => self::TYPE_FLOAT, 'validate' => 'isPrice'), 'round_mode' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'), 'round_type' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'), 'shipping_number' => array('type' => self::TYPE_STRING, 'validate' => 'isTrackingNumber'), 'conversion_rate' => array('type' => self::TYPE_FLOAT, 'validate' => 'isFloat', 'required' => true), 'invoice_number' => array('type' => self::TYPE_INT), 'delivery_number' => array('type' => self::TYPE_INT), 'invoice_date' => array('type' => self::TYPE_DATE), 'delivery_date' => array('type' => self::TYPE_DATE), 'valid' => array('type' => self::TYPE_BOOL), 'reference' => array('type' => self::TYPE_STRING), 'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDate'), 'date_upd' => array('type' => self::TYPE_DATE, 'validate' => 'isDate'), 'is_paid' => array('type'=>self::TYPE_BOOL) Edited by robbie_ro, 21 June 2017 - 09:38. |
#3
Posted 21 June 2017 - 10:20
#4
Posted 21 June 2017 - 12:41
'is_paid' => array( 'title' => $this->l('Incasata'), 'active' => 'statuspaid', 'filter_key' => $alias.'!is_paid', 'align' => 'text-center', 'type' => 'bool', 'class' => 'fixed-width-sm', 'orderby' => false ) Unde ai definita variabila $alias? Incearca 'is_paid' => array( 'title' => $this->l('Incasata'), 'align' => 'text-center', 'type' => 'bool', 'class' => 'fixed-width-sm', 'orderby' => false ) |
#5
Posted 21 June 2017 - 13:00
robbie_ro, on 21 iunie 2017 - 12:41, said:
Unde ai definita variabila $alias? $this->fields_list['active'] = array( 'title' => $this->l('Status'), 'active' => 'status', 'filter_key' => $alias.'!active', 'align' => 'text-center', 'type' => 'bool', 'class' => 'fixed-width-sm', 'orderby' => false ); robbie_ro, on 21 iunie 2017 - 12:41, said:
Incearca 'is_paid' => array( 'title' => $this->l('Incasata'), 'align' => 'text-center', 'type' => 'bool', 'class' => 'fixed-width-sm', 'orderby' => false ) Daca il las asa, in loc de X si V apare 1 si 0. Am adaugat si 'active' => 'statuspaid', dar tot nu face update. |
#6
Posted 21 June 2017 - 13:59
Din ce am vazut rapid in Prestashop, in controllerul AdminProductsController ai o functie care modifica statusul produsului.
Cam aceeasi chestie trebuie sa faci in AdminOrdersController. public function processStatus() { $this->loadObject(true); if (!Validate::isLoadedObject($this->object)) { return false; } if (($error = $this->object->validateFields(false, true)) !== true) { $this->errors[] = $error; } if (($error = $this->object->validateFieldsLang(false, true)) !== true) { $this->errors[] = $error; } if (count($this->errors)) { return false; } $res = parent::processStatus(); $query = trim(Tools::getValue('bo_query')); $searchType = (int)Tools::getValue('bo_search_type'); if ($query) { $this->redirect_after = preg_replace('/[\?|&](bo_query|bo_search_type)=([^&]*)/i', '', $this->redirect_after); $this->redirect_after .= '&bo_query='.$query.'&bo_search_type='.$searchType; } return $res; } |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users