public function displaySkuGenPage() { // handle actions and show notes // $this->handleActions(); // handle button if ($this->requestAction() == 'wpla_generate_all_missing_skus') { $product_ids = WPLA_SkuGenerator::getAllProductIDsWithoutSKU(); $this->generateNewSKUs($product_ids); } // handle bulk action if ($this->requestAction() == 'wpla_bulk_generate_skus') { $this->generateNewSKUs($_REQUEST['product']); } // save options if ($this->requestAction() == 'wpla_save_skugen_options') { $this->saveSkuGenOptions(); } // create table and fetch items to show $this->skugenTable = new WPLA_SkuGenTable(); $this->skugenTable->prepare_items(); $active_tab = 'skugen'; $aData = array('plugin_url' => self::$PLUGIN_URL, 'message' => $this->message, 'skugenTable' => $this->skugenTable, 'default_account' => get_option('wpla_default_account_id'), 'skugen_mode_simple' => get_option('wpla_skugen_mode_simple'), 'skugen_mode_variation' => get_option('wpla_skugen_mode_variation'), 'skugen_mode_case' => get_option('wpla_skugen_mode_case'), 'tools_url' => 'admin.php?page=' . self::ParentMenuId . '-tools', 'form_action' => 'admin.php?page=' . self::ParentMenuId . '-tools' . '&tab=' . $active_tab); $this->display('tools_skugen', $aData); }
/** ************************************************************************ * REQUIRED! This is where you prepare your data for display. This method will * usually be used to query the database, sort and filter the data, and generally * get it ready to be displayed. At a minimum, we should set $this->items and * $this->set_pagination_args(), although the following properties and methods * are frequently interacted with here... * * @uses $this->_column_headers * @uses $this->items * @uses $this->get_columns() * @uses $this->get_sortable_columns() * @uses $this->get_pagenum() * @uses $this->set_pagination_args() **************************************************************************/ function prepare_items($items = false) { // process bulk actions // $this->process_bulk_action(); // get pagination state $current_page = $this->get_pagenum(); $per_page = $this->get_items_per_page('listings_per_page', 20); // define columns $this->_column_headers = $this->get_column_info(); // fetch items $helper = new WPLA_SkuGenerator(); $this->items = $helper->getPageItems($current_page, $per_page); $this->total_items = $helper->total_items; // register our pagination options & calculations. $this->set_pagination_args(array('total_items' => $this->total_items, 'per_page' => $per_page, 'total_pages' => ceil($this->total_items / $per_page))); }