Jump to content

New top Dashboard


Recommended Posts

Yes it look nice.

 

It enough easy to make another one : Take this file IndexDashboardTopStockWarning and rename it : IndexDashboardTopTest
Change inside the class and the request

The file will be like this !

........... must be removed and adapted at your needs.

<?php
  /**
 *
 *  @copyright 2008 - https://www.clicshopping.org
 *  @Brand : ClicShopping(Tm) at Inpi all right Reserved
 *  @Licence GPL 2 & MIT
 *  @licence MIT - Portion of osCommerce 2.4
 *  @Info : https://www.clicshopping.org/forum/trademark/
 *
 */

  namespace ClicShopping\OM\Module\Hooks\ClicShoppingAdmin\Dashboard;

  use ClicShopping\OM\CLICSHOPPING;
  use ClicShopping\OM\Registry;
  use ClicShopping\OM\HTML;

  class IndexDashboardTopTest {
    protected $db;

    public function __construct() {

      if (CLICSHOPPING::getSite() != 'ClicShoppingAdmin') {
        CLICSHOPPING::redirect();
      }

      $this->db = Registry::get('Db');
    }

    public function execute() {
      $Qproducts = $this->db->prepare('select count(*) as count from :table_products
                                      where ..........
                                     ');

      $Qproducts->execute();

      $number_products_test = $Qproducts->valueInt('count');

      if ($number_products_test > 0) {
        $text = CLICSHOPPING::getDef('text_number_products_........');
        $text_view = CLICSHOPPING::getDef('text_view');

        $output = '
<div style="padding-right:0.5rem; padding-top:0.5rem">
    <div class="card bg-warning">
      <div class="card-body">
        <div class="row">
          <h5 class="card-title text-white"><i class="fas fa-bell-slash"  aria-hidden="true"></i> ' . $text . '</h5>
        </div>
        <div class="col-md-12">
          <span h5 class="text-white">' . $number_products_test . '</span>
          <span><small class="text-white">' . HTML::link(CLICSHOPPING::link(null, 'A&...........'), $text_view, 'class="text-white"') . '</small></span>
        </div>
      </div>
    </div>
</div>
';

 

  • Like 3
  • Thanks 3
Link to post

looking the file, there is 6 hooks allow that

out of stock

stock warning

newsletter

product expected

Review

MemberB2B

Looking the code, the hook appears only if the condition is correct and as Drack code above, it's easy to make another one.

 

 

 

Link to post

@Drack,

Thank you for your example. I test but about the language, I have this test_products_notification. How to change that to have the english and french language.

Thank you.

Link to post

I think, it's better to have not more than your screen width. For example, il you have 10, you will have some statistics on 2 row. 
It think it's better to focus on what is important for you.
Inside the dashboard, you also have lot of statistics, it's not important to make the same inside the top dashboard.
 

Link to post

There an example :

You can see a status there :

http://localhost/shop/ClicShoppingAdmin/index.php?A&Configuration\Modules&Configure

 

look the Module directory :Apps/Configuration/Modules/Module/ClicShoppingAdmin/Config/MO/Params

 

2/ Inside you can see a status files, copy and paste inside the same directory.

Change the filename status_stats_products.php for example

You can have something like this :

<?php
  /**
 *
 *  @copyright 2008 - https://www.clicshopping.org
 *  @Brand : ClicShopping(Tm) at Inpi all right Reserved
 *  @Licence GPL 2 & MIT
 *  @licence MIT - Portion of osCommerce 2.4
 *  @Info : https://www.clicshopping.org/forum/trademark/
 *
 */


  namespace ClicShopping\Apps\Configuration\Modules\Module\ClicShoppingAdmin\Config\MO\Params;

  use ClicShopping\OM\HTML;

  class status_stats_products extends \ClicShopping\Apps\Configuration\Modules\Module\ClicShoppingAdmin\Config\ConfigParamAbstract {
    public $default = 'True';
    public $sort_order = 10;

    protected function init() {
        $this->title = $this->app->getDef('cfg_products_modules_status_stats_products_title');
        $this->description = $this->app->getDef('cfg_products_modules_status_stats_products_description');
    }

    public function getInputField()  {
      $value = $this->getInputValue();

      $input =  HTML::radioField($this->key, 'True', $value, 'id="' . $this->key . '1" autocomplete="off"') . $this->app->getDef('cfg_products_modules_status_true') . ' ';
      $input .=  HTML::radioField($this->key, 'False', $value, 'id="' . $this->key . '2" autocomplete="off"') . $this->app->getDef('cfg_products_modules_status_false');

      return $input;
    }
  }

 

2/ Now don't forget to reate the files inside  your language  directory

 

3/ Now actualize your page, a new configuration is added inside the configuration database : CLICSHOPPING_APP_MODULES_MO_STATUS_STATS_PRODUCTS

 

4/ now go in this directory :  Includes/Module/Hooks/ClicShoppingAdmin/Dashboard

Edit your hooks stats_products .php for example and add after :  function  execute()

this :

 

if (!defined('CLICSHOPPING_APP_MODULES_MO_STATUS_STATS_PRODUCTS') || CLICSHOPPING_APP_MODULES_MO_STATUS_STATS_PRODUCTS == 'False') { 
  return false; 
}

 

Now you can control your hook and display the information or not.

 

 

 

 

  • Like 2
  • Thanks 2
Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use