Welcome Guest, Not a member yet? Register   Sign In
AssetLibPro - An advanced CI Asset Library
#51

[eluser]ammonkc[/eluser]
[quote author="phazei" date="1236327782"]Uh, did you read the last post?
That's exactly what it's about.[/quote]

Sorry, what I meant was not to autoload EVERYthing, But to set a few assets to autoload and still load others as they are needed.

For example: layout.css is used in every page, so I auto load it. but forms.css and lightbox.css are only used on a single page so I load them as needed.
#52

[eluser]ammonkc[/eluser]
Ok, this is kind of what I was thinking about.

In the config file - assetlibpro.php
Code:
// add an array with the assets to autoload
$config['alp_autoload_css'] = array();
$config['alp_autoload_js'] = array();

In the Library file - Assetlibpro.php
Code:
// add these class variables
    var $autoload_css = array();
    var $autoload_js = array();


    // add this to the constructor
    $this->autoload_css = $this->CI->config->item('alp_autoload_css');
    $this->autoload_js = $this->CI->config->item('alp_autoload_js');
    if ( count($this->autoload_css) > 0 )
    {
        foreach( $this->autoload_css as $key => $value )
        {
            $this->add_css($value);
        }
    }
    if ( count($this->autoload_js) > 0 )
    {
        foreach( $this->autoload_js as $key => $value )
        {
            $this->add_js($value);
        }
    }
#53

[eluser]Andreia M.[/eluser]
I must be doing something wrong here.

The page loads OK, but no CSS or JS works - it generates the output, it caches the file, all is apparently working, but it's the same as if the page had no CSS at all. I even checked the compressed file - it looks OK. I turned GZIP compression off, as my host does not have it on. Could that be it? Apparently it *is* generating the files as it should, but Safari and Firefox don't seem to recognize it.

Code:
<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');
/**
* AssetLibPro - A CodeIgniter Asset Class
*
* @version of AssetLibPro:    1.0.5
*/

/*
|--------------------------------------------------------------------------
| Asset storage
|--------------------------------------------------------------------------
|
| The path to where to storage the joined assets.
| alp_cache_dir_css = "/assets/compressed/" (as example)
|
*/
$config['alp_asset_dir'] = '/';//TRAILING SLASH!
$config['alp_cache_dir_css'] = '/compressed/';//TRAILING SLASH!
$config['alp_cache_dir_js'] = '/compressed/';//TRAILING SLASH!

...

/*
|--------------------------------------------------------------------------
| Toggle CSSTidy/JSMin Compression
|--------------------------------------------------------------------------
|
| Whether to run compression using csstidy or jsmin
|
*/
$config['alp_enable_csstidy'] = TRUE;
$config['alp_enable_jsmin'] = TRUE;

/*
|--------------------------------------------------------------------------
| Toggle GZip Compression
|--------------------------------------------------------------------------
|
| Whether to compression the output using gzip
|
*/
$config['alp_gzip_compress_css'] = FALSE;
$config['alp_gzip_compress_js'] = FALSE;

/*
|--------------------------------------------------------------------------
| Toggle Browser Caching
|--------------------------------------------------------------------------
|
| Whether to force the browser to cache the files
| (Even with caching enabled web browsers will still detect changes automatically!)
|
*/
$config['alp_force_cache_css'] = TRUE;
$config['alp_force_cache_js'] = TRUE;

...

$config['alp_csstidy_basepath']    = "/plugins/csstidy/";

$config['alp_csstidy_config'] = array(
                                  'remove_bslash' => TRUE,
                                  'compress_colors' => TRUE,
                                  'compress_font-weight' => TRUE,
                                  'lowercase_s' => FALSE,
                                  'optimise_shorthands' => 1,
                                  'remove_last_,' => TRUE,
                                  'case_properties' => 1,
                                  'sort_properties' => FALSE,
                                  'sort_selectors' => FALSE,
                                  'merge_selectors' => 2,
                                  'discard_invalid_properties' => FALSE,
                                  'css_level' => 'CSS2.1',
                                  'preserve_css' => FALSE,
                                  'timestamp' => FALSE
                                 );
$config['alp_csstidy_template'] = "highest_compression";

/*
|--------------------------------------------------------------------------
| JSmin Config
|--------------------------------------------------------------------------
|
| Enter the path to your jsmin.php file. (relative from BASEPATH)
|
| jsmin = "/system/plugins/jsmin1.1.1.php" (as example)
|
*/
$config['alp_jsmin']    = "/plugins/jsmin.php";
?>

Code:
In the controller's constructor:

$this->load->config('assetlibpro');
$this->load->library('assetlibpro');

In the controller's index (which is the one function that uses it, currently):

$this->assetlibpro->add_css('css/e3.css');
$this->assetlibpro->add_css('css/lightwindow.css');
$this->assetlibpro->add_js('scripts/scriptaculous.js');
$this->assetlibpro->add_js('scripts/prototype.js');
$this->assetlibpro->add_js('scripts/lightwindow.js');

Code:
<?php
    echo $this->assetlibpro->output('all');
?>

Code:
View >> Source code of the view:

<link rel="stylesheet" href="http://mybaseurl/compressed/css_screen_829ee1f3_287bcf01_09d4b6a4.php" type="text/css" media="screen" />
#54

[eluser]Skinnpenal[/eluser]
Does this library have any support that enables variables in css?
#55

[eluser]tonydewan[/eluser]
@Andreia M. If your still having trouble, you might check out my library called Carabiner. It provides similar functionality, but without the overhead of PHP based GZIP. The link to the library forum post is in my signature.

@Skinnpenal I don't know of a CI library that offers that functionality. Carabiner certainly doesn't, though that would be an interesting feature to implement. Good luck on your search.
#56

[eluser]kurucu[/eluser]
I published an application to a live server today and none of my stylesheets and javascript worked!

The problem was simple, in the end, and was that my live server has SuPHP installed on it. I wrapped the file-modification functions in the asset library with chmod 775 and chmod 755 for the 'compressed' directory. I did note that instead of the usual Apache complaint, CI also handled the error as a 404 (if I navigated to the CSS file) which would be great for the end-user but left me baffled!

This is here for anyone banging their heads on their desks, as an idea of what might cause the problem. I will suggest some ideas/code to the project author to help fix the problem.




Theme © iAndrew 2016 - Forum software by © MyBB