Jeff Mattson
Jeff Mattson

Reputation: 393

How do I make the has_many selector drag and drop sortable with fuelCMS 1.4?

I have created a model and added the $has_many for selecting multiple products. This is working fine but I am unable to make the selected products sortable by drag and drop. I know this is possible I have seen it. But I am unable to find anything in the documentation that shows how to get this done. Here is my model:

<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');
require_once(FUEL_PATH.'models/Base_module_model.php');

/**
 * This model handles setting up the form fields for our contact form
 *
 */

class Products_category_model extends Base_module_model {

    public $required = array('name', 'published');
    public $has_many  = array('products' => array(FUEL_FOLDER => 'Products_model'));


    function __construct()
    {
        parent::__construct('w_product_categories');
    }

    /*
        This will provide the list of records for display in the Admin Panel
        Note how the "excerpt" will display, but truncated

        Because we are using some MySQL functions in our select statement,
        we pass FALSE in as the second parament to prevent CI auto escaping of fields
    */
    function list_items($limit = null, $offset = null, $col = 'name', $order = 'asc', $just_count = false)
    {
        $this->db->select('id, name, published', FALSE);
        $data = parent::list_items($limit, $offset, $col, $order);
        return $data;
    }

    function form_fields($values = array(), $related = array())
    {
        $fields = parent::form_fields($values, $related);
        return $fields;
    }
}

class Product_category_model extends Base_module_record {
}

Upvotes: 0

Views: 26

Answers (1)

Jeff Mattson
Jeff Mattson

Reputation: 393

So it is very simple I discovered. I added this in the form fields function:

    // Makes the has many drag and drop sortable.
    $fields['products']['sorting'] = TRUE;
    $fields['products']['after_html'] = "<div style=\"clear:both;font-style:italic\">NOTE: you can sort selected product to your choosing by clicking on the product and then dragging it into the desired placement in the list</div>";

Upvotes: 0

Related Questions