Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

[Addon} Modular Front Page


kymation

Recommended Posts

Hello Jim,

Thanks in advance for you help on the themeroller add, they works fine, the great misstake are the jQuery versions!

 

Now, I have installed the Front page module from you, and they comes nice and clean up, every 10.

Just the name in the module, left colum are very long and with underscores: MODULE_CFG_MODULE_FRONT_PAGE, no prob if this is the right way to show.

 

But I have a banner rotation prob, I don't understand the follow things: rotaror group, do I have to create a map with the name "rotaror" and put the 4 banners that included from you, there?

 

I have delete the OScommerce banner from de Admin bannermodule, and now the show's the rotator banner in the head from the index page..

 

When I started the indexpage: I see only a black box, where normaly the banner have to show, fading away and zo on, works.

 

But I think, I have not understood the things, where I have to place the banners and the therm: rotator group.

 

Thx Jim for you great Add's on!

Roger

Link to comment
Share on other sites

Any time you see text in ALL_CAPS with underscores, that means you're missing something in includes/languages/english/ or whatever language you are using. Try uploading those the language files again. If you are using a different language, you need to upload those files to that language directory and then translate the english labels. I can't support files in languages where I am not fluent.

 

You can name the banner group anything you want. I used "rotator" as an example. You only need to make the banner group the same in the banner rotator and the banner manager.

 

Rgards

Jim

See my profile for a list of my addons and ways to get support.

Link to comment
Share on other sites

  • 3 weeks later...

Hi Jim,

 

I'm trying out your front_page modules to see how I can rework mine to make it easier to switch layout modules without having to touch code.

I like the featured products to really highlight a few products, but on the admin side it is much too heavy as it retrieves all active products in a dropdown for each of the 12 potential product slots.

 

   function tep_cfg_pull_down_products( $products_id, $key = '' ) {
  global $languages_id;

  $name = ( ( $key ) ? 'configuration[' . $key . ']' : 'configuration_value' );

  $products_array = array( array( 'id' => '0', 'text' => TEXT_NONE ) );
  $products_query_raw = "
    select
	  p.products_id,
	  pd.products_name
    from
	  " . TABLE_PRODUCTS . " p
	  join " . TABLE_PRODUCTS_DESCRIPTION . " pd
	    on pd.products_id = p.products_id
    where
	  p.products_status = '1'
	  and pd.language_id = '" . ( int )$languages_id . "'
    order by
	  pd.products_name
  ";
  $products_query = tep_db_query( $products_query_raw );

  while( $products_data = tep_db_fetch_array( $products_query ) ) {
    $products_array[] = array( 'id' => $products_data['products_id'],
							   'text' => $products_data['products_name']
							 );
  }

  return tep_draw_pull_down_menu( $name, $products_array, $products_id );
   }

 

I was thinking it could be a good idea to have some kind of configurable limit on the products retrieved to only list upto the limit and if there are more records, to allow for a straight input field for the products_id.

 

Thus it would require another configuration value in this module, and changes to the above function.

 

What do you think - good idea, or do you propose a better/easier way to do this ?

 

Thanks

Carine

KEEP CALM AND CARRY ON

I do not use the responsive bootstrap version since i coded my responsive version earlier, but i have bought every 28d of code package to support burts effort and keep this forum alive (albeit more like on life support).

So if you are still here ? What are you waiting for ?!

 

Find the most frequent unique errors to fix:

grep "PHP" php_error_log.txt | sed "s/^.* PHP/PHP/g" |grep "line" |sort | uniq -c | sort -r > counterrors.txt

Link to comment
Share on other sites

I went ahead to try it out using a hardcoded limit, so replacing from the while contruct at the end of the function

 

 if (tep_db_num_rows($products_query) < 100) {
    while( $products_data = tep_db_fetch_array( $products_query ) ) {
	  $products_array[] = array( 'id' => $products_data['products_id'],
								 'text' => $products_data['products_name']
							   );
    }
    return tep_draw_pull_down_menu( $name, $products_array, $products_id );
  } else {
    return tep_draw_input_field( $name, $products_id );
  }

 

Now I just can enter the product ids required

KEEP CALM AND CARRY ON

I do not use the responsive bootstrap version since i coded my responsive version earlier, but i have bought every 28d of code package to support burts effort and keep this forum alive (albeit more like on life support).

So if you are still here ? What are you waiting for ?!

 

Find the most frequent unique errors to fix:

grep "PHP" php_error_log.txt | sed "s/^.* PHP/PHP/g" |grep "line" |sort | uniq -c | sort -r > counterrors.txt

Link to comment
Share on other sites

If you need to select from all the products, a cache function will save a lot of time. If you don't need all of the products, the SQL can be rewritten to exclude certain categories. I have used both approaches for large stores.

 

An arbitrary limit would work, but it would exclude some products that you might want to select. I believe that it would pull products starting at the beginning of the database table's index, so newer products would be excluded.

 

Do whichever is the easiest for you, or whichever fits in with the way you use the module.

 

Regards

Jim

See my profile for a list of my addons and ways to get support.

Link to comment
Share on other sites

I have about 7000 active products, having them all in a dropdown really slows down the system. In our case the products_id is also our barcode on the products, so we're quite used to referring to that number, so it is not that hard to enter the numbers directly.

 

The point I was making is that if there was a configurable limit imposed it would be more workable, and people could choose to increase the limit if they really want to wait for the long dropdown arrays to build up on screen.

 

I'm happy with my code as it stands :)

KEEP CALM AND CARRY ON

I do not use the responsive bootstrap version since i coded my responsive version earlier, but i have bought every 28d of code package to support burts effort and keep this forum alive (albeit more like on life support).

So if you are still here ? What are you waiting for ?!

 

Find the most frequent unique errors to fix:

grep "PHP" php_error_log.txt | sed "s/^.* PHP/PHP/g" |grep "line" |sort | uniq -c | sort -r > counterrors.txt

Link to comment
Share on other sites

How to add Woothemes flex slider as a front page module

 

Please note only the essential switches are included as parameters in the module, if you want anything fancy you'll have to extend it, or modify the javascript directly in the code

 

1) Javascript

 

Download the last version from

http://www.woothemes.com/flexslider/

 

You need to create a new folder as /ext/modules/front_page/flexslider/ and put the css file and the javascript file in this folder (following the front_page convention for external files).

 

2) Language files

 

for each of the languages you use, create a flex_slider.php file as

catalog/includes/(language)/includes/modules/front_page/flex_slider.php

with the following content:

<?php
/*
 $Id: flex_slider.php v1.0 20101109 Kymation $

 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2010 osCommerce

 Released under the GNU General Public License
*/

 define( 'MODULE_FRONT_PAGE_FLEX_SLIDER_TITLE', 'Flex Slider' );
 define( 'MODULE_FRONT_PAGE_FLEX_SLIDER_DESCRIPTION', 'Control the function of the flex slider module on the front page.' );

?>

 

3) ftp flex_slider front_page module flex_slider.php

 

Load up the attached php as catalog/includes/modules/front_page/flex_slider.php

 

4) install module

Navigate to your admin front page section and install the module.

 

Enjoy

KEEP CALM AND CARRY ON

I do not use the responsive bootstrap version since i coded my responsive version earlier, but i have bought every 28d of code package to support burts effort and keep this forum alive (albeit more like on life support).

So if you are still here ? What are you waiting for ?!

 

Find the most frequent unique errors to fix:

grep "PHP" php_error_log.txt | sed "s/^.* PHP/PHP/g" |grep "line" |sort | uniq -c | sort -r > counterrors.txt

Link to comment
Share on other sites

Thanks for the code. Can I add this to the distribution for Modular Front Page? You get full credit of course.

Yeah, sure. I don't even mind if you take credit for it as I'm not able to provide suipport for it in a timely matter. I have a shop to run ...

KEEP CALM AND CARRY ON

I do not use the responsive bootstrap version since i coded my responsive version earlier, but i have bought every 28d of code package to support burts effort and keep this forum alive (albeit more like on life support).

So if you are still here ? What are you waiting for ?!

 

Find the most frequent unique errors to fix:

grep "PHP" php_error_log.txt | sed "s/^.* PHP/PHP/g" |grep "line" |sort | uniq -c | sort -r > counterrors.txt

Link to comment
Share on other sites

I don't mind supporting this one. You already did all of the work getting it to run, so there's not much to support anyway. I'll add it to the next update.

 

Thanks again for the contribution.

 

Regards

Jim

See my profile for a list of my addons and ways to get support.

Link to comment
Share on other sites

I've uploaded a new release that adds the new the Flex Slider module that was posted above.

 

I also renamed all of the module files and their language files to match osCommerce coding standards. If you need to replace a module that you already have installed, remember to delete the old module before uploading the new one. There are no changes other than the rename, so there's no real reason to update.

 

Regards

Jim

See my profile for a list of my addons and ways to get support.

Link to comment
Share on other sites

  • 2 weeks later...

Hi Jim,

 

I added a lazyloading tweak to flex_slider module.

some javascript inserted after the animation parameter, and a few lines to add rel="imagepath" in the ul tree

<?php
/*
 $Id: flex_slider.php v1.1.5 20120314 Bruyndoncx $

 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2012 osCommerce

 Released under the GNU General Public License

 Adaptation from banner_rotator by Kymation
*/

 class flex_slider {
   var $code = 'flex_slider';
   var $group = 'front_page';
   var $title;
   var $description;
   var $sort_order;
   var $enabled = false;

   function flex_slider() {
  $this->title = MODULE_FRONT_PAGE_FLEX_SLIDER_TITLE;
  $this->description = MODULE_FRONT_PAGE_FLEX_SLIDER_DESCRIPTION;

  if (defined('MODULE_FRONT_PAGE_FLEX_SLIDER_STATUS')) {
    $this->sort_order = MODULE_FRONT_PAGE_FLEX_SLIDER_SORT_ORDER;
    $this->enabled = (MODULE_FRONT_PAGE_FLEX_SLIDER_STATUS == 'True');
  }
   }

   function execute() {
  global $PHP_SELF, $oscTemplate, $cPath, $languages_id;

  if ($PHP_SELF == 'index.php' && $cPath == '') {
    // Set the Javascript to go in the header
    $header = '<link rel="stylesheet" type="text/css" href="ext/modules/front_page/flex_slider/flexslider.css" />' . PHP_EOL;
    $header .= '<script type="text/javascript" src="ext/modules/front_page/flex_slider/jquery.flexslider.js"></script>' . PHP_EOL;
    $header .= '<script type="text/javascript">' . PHP_EOL;
    $header .= '  $(document).ready(function(){' . PHP_EOL;
    $header .= "    $('.flexslider').flexslider({" . PHP_EOL;
    $header .= '	    animation: "'. MODULE_FRONT_PAGE_FLEX_SLIDER_ANIMATION .'",' . PHP_EOL;
    $header .= '
    // ----------lazyload-------------------------
    before: function(slider){
	    //alert(slider.slides[slider.animatingTo].childNodes[0].src);
	    if( $(slider.slides[slider.animatingTo].childNodes[0].childNodes[0]).attr("src") == "")
		    { $(slider.slides[slider.animatingTo].childNodes[0].childNodes[0]).attr("src", $(slider.slides[slider.animatingTo].childNodes[0].childNodes[0]).attr("rel")); }

    },
    start: function(slider){
	    //alert( $(slider.slides[slider.currentSlide].find("img")).attr("rel") );
	    if( $(slider.slides[slider.currentSlide].childNodes[0].childNodes[0]).attr("src") == "")
		    { $(slider.slides[slider.currentSlide].childNodes[0].childNodes[0]).attr("src", $(slider.slides[slider.currentSlide].childNodes[0].childNodes[0]).attr("rel")); }
    },
    ';

    $header .= '	    slideshowSpeed: ' . (int) MODULE_FRONT_PAGE_FLEX_SLIDER_SLIDESHOWSPEED . ', '. PHP_EOL;
    $header .= '	    animationSpeed: ' . (int) MODULE_FRONT_PAGE_FLEX_SLIDER_ANIMATIONSPEED .', '. PHP_EOL;
    $header .= '	    smoothHeight: ' . MODULE_FRONT_PAGE_FLEX_SLIDER_SMOOTHHEIGHT . PHP_EOL ;
    $header .= '	  });' . PHP_EOL;
    $header .= '  });' . PHP_EOL;
    $header .= '</script>' . PHP_EOL;

    $oscTemplate->addBlock($header, 'header_tags');

    // Set the banner rotator code to display on the front page
    $banner_query_raw = "
			  select
			    banners_id,
			    banners_url,
			    banners_image,
			    banners_html_text
			  from
			    " . TABLE_BANNERS . "
			  where
			    banners_group = '" . MODULE_FRONT_PAGE_FLEX_SLIDER_GROUP . "'
			    and language_id = '" . ( int ) $languages_id . "'
			    and status = 1
			  order by
			    " . MODULE_FRONT_PAGE_FLEX_SLIDER_BANNER_ORDER . "
			  limit
			    " . (int)MODULE_FRONT_PAGE_FLEX_SLIDER_MAX_DISPLAY;

    $banner_query = tep_db_query($banner_query_raw);
    if (tep_db_num_rows($banner_query) > 0) {
	  $body_text = '<!-- Flex Slider BOF -->' . PHP_EOL;
	  $body_text .= '  <div class="flexslider clearboth" style="max-width: 97%;">' . PHP_EOL;
	  $body_text .= '    <ul class="slides">' . PHP_EOL;

	  $first = 1; //for lazyload
	  while ($banner = tep_db_fetch_array($banner_query)) {
	    $body_text .= '	  <li>';
	    if ($banner['banners_url'] != '') {
		  $body_text .= '<a href="' . tep_href_link(FILENAME_REDIRECT, 'action=banner&goto=' . $banner['banners_id']) . '" target="_self">';
	    }
//BOF lazyload
//		    $body_text .= tep_image(DIR_WS_IMAGES . $banner['banners_image'], $banner['banners_html_text']);
	    if ($first) {
		  $body_text .= '<img src="'.DIR_WS_IMAGES . $banner['banners_image'].'" '. $banner['banners_html_text']. '" />';
		  $first = 0;
	    } else {
		  $body_text .= '<img src="" rel="'. DIR_WS_IMAGES . $banner['banners_image'].'" '. $banner['banners_html_text']. '" />';
	    }
//EOF lazyload		    
	    if ($banner['banners_html_text'] != '') $body_text .= '<div class="announcement">'.$banner['banners_html_text'] .'</div>'. PHP_EOL;
	    if ($banner['banners_url'] != '') {
		  $body_text .= '</a>';
	    }	    

	    $body_text .= ' </li>' . PHP_EOL;
	  }

	  $body_text .= '    </ul>' . PHP_EOL;
	  $body_text .= '  </div>' . PHP_EOL;

	  $body_text .= '  <div class="clear"></div>' . PHP_EOL;
	  $body_text .= '<!-- Flex Slider EOF -->' . PHP_EOL;

	  $oscTemplate->addBlock( $body_text, $this->group );
    }
  }
   }

   function isEnabled() {
  return $this->enabled;
   }

   function check() {
  return defined('MODULE_FRONT_PAGE_FLEX_SLIDER_STATUS');
   }

   function install() {
  $this->_load_header_tags_first();

       tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort Order', 'MODULE_FRONT_PAGE_FLEX_SLIDER_SORT_ORDER', '0', 'Sort order of display. Lowest is displayed first.', '6', '0', now())");
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enable Flex Slider', 'MODULE_FRONT_PAGE_FLEX_SLIDER_STATUS', 'True', 'Do you want to show the flex slider?', '6', '1', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())");
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Animation', 'MODULE_FRONT_PAGE_FLEX_SLIDER_ANIMATION', 'slide', 'Animation effect to use for the Flex Slider.', '6', '1', 'tep_cfg_select_option(array(\'slide\', \'fade\'), ',now())");
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('slideshowSpeed', 'MODULE_FRONT_PAGE_FLEX_SLIDER_SLIDESHOWSPEED', '7000', 'The speed of the slideshow cycling, in milliseconds. 1000 = 1 second', '6', '0', now())");
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('animationSpeed', 'MODULE_FRONT_PAGE_FLEX_SLIDER_ANIMATIONSPEED', '600', 'The speed of the animation in milliseconds. 1000 = 1 second', '6', '0', now())");
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enable smoothHeight', 'MODULE_FRONT_PAGE_FLEX_SLIDER_SMOOTHHEIGHT', 'True', 'Do you want to use smoothHeight on the flex slider?', '6', '1', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())");
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Banner Order', 'MODULE_FRONT_PAGE_FLEX_SLIDER_BANNER_ORDER', 'banners_id', 'Order that the Flex Slider uses to show the banners.', '6', '0', 'tep_cfg_select_option(array(\'banners_id\', \'banners_id desc \', \'rand()\'), ', now())");
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Banner Rotator Group', 'MODULE_FRONT_PAGE_FLEX_SLIDER_GROUP', 'HOME', 'Name of the banner group that the Flex Slider uses to show the banners.', '6', '0', now())");
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Banner Rotator Max Banners', 'MODULE_FRONT_PAGE_FLEX_SLIDER_MAX_DISPLAY', '4', 'Maximum number of banners that the Flex Slider will show', '6', '0', now())");
   }

   function remove() {
  tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");
   }

   function keys() {
  return array (
    'MODULE_FRONT_PAGE_FLEX_SLIDER_STATUS',
    'MODULE_FRONT_PAGE_FLEX_SLIDER_SORT_ORDER',
    'MODULE_FRONT_PAGE_FLEX_SLIDER_ANIMATION',
    'MODULE_FRONT_PAGE_FLEX_SLIDER_SLIDESHOWSPEED',
    'MODULE_FRONT_PAGE_FLEX_SLIDER_ANIMATIONSPEED',
    'MODULE_FRONT_PAGE_FLEX_SLIDER_SMOOTHHEIGHT',
    'MODULE_FRONT_PAGE_FLEX_SLIDER_BANNER_ORDER',
    'MODULE_FRONT_PAGE_FLEX_SLIDER_GROUP',
    'MODULE_FRONT_PAGE_FLEX_SLIDER_MAX_DISPLAY'
  );
   }

   // Force the header tags to load first, so the jQuery and jQuery UI code is available
   //   to other scripts that load in the head section
   function _load_header_tags_first() {
  // If header_tags is not the first item on the list
  if( substr( TEMPLATE_BLOCK_GROUPS, 0, 11 ) != 'header_tags' ) {
    // Remove header_tags from wherever it is in the list
    $template_block_groups = str_replace( ';header_tags', '', TEMPLATE_BLOCK_GROUPS );
    // And add header_tags back onto the front of the list
    $template_block_groups = 'header_tags;' . $template_block_groups;
    $sql_data_array = array( 'configuration_value' => $template_block_groups );
    // Update the database with the fixed string
    tep_db_perform( TABLE_CONFIGURATION, $sql_data_array, 'update', "configuration_key = 'TEMPLATE_BLOCK_GROUPS'" );
  } // if( substr
   } // function _load_header_tags_first

 }

?>

It all seems to work now, I did break it earlier, so I know it is functioning, I just don't have many slides to really measure the impact

KEEP CALM AND CARRY ON

I do not use the responsive bootstrap version since i coded my responsive version earlier, but i have bought every 28d of code package to support burts effort and keep this forum alive (albeit more like on life support).

So if you are still here ? What are you waiting for ?!

 

Find the most frequent unique errors to fix:

grep "PHP" php_error_log.txt | sed "s/^.* PHP/PHP/g" |grep "line" |sort | uniq -c | sort -r > counterrors.txt

Link to comment
Share on other sites

  • 2 weeks later...

Jim, if there is time I would need help in this case.

 

I am running osc 2.3.3 on PHP 5.4.7

 

I installed your last Modular Front Page 1.4

 

I got this error:

 

Fatal error: Cannot redeclare class language in C:\xampp\htdocs\catalog\includes\classes\language.php on line 23

 

I got more information for this error:

 

= = = = = = = = Backtrace = = = = = = = =

language.php is referenced in C:\xampp\htdocs\catalog\includes\modules\header_tags\ht_front_title_store_name.php on line 31 in a "include_once"

C:\xampp\htdocs\catalog\includes\modules\header_tags\ht_front_title_store_name.php is referenced in C:\xampp\htdocs\catalog\includes\classes\osc_template.php on line 90 in a "ht_front_title_store_name"

C:\xampp\htdocs\catalog\includes\classes\osc_template.php is referenced in C:\xampp\htdocs\catalog\includes\template_top.php on line 2 in a "buildBlocks"

C:\xampp\htdocs\catalog\includes\template_top.php is referenced in C:\xampp\htdocs\catalog\index.php on line 24 in a "require"

 

= = = = = = = = = = = = = = = = = = = = =

 

= = = = = = = = Backtrace = = = = = = = =

language.php is referenced in C:\xampp\htdocs\catalog\includes\modules\boxes\bm_languages.php on line 38 in a "include"

C:\xampp\htdocs\catalog\includes\modules\boxes\bm_languages.php is referenced in C:\xampp\htdocs\catalog\includes\classes\osc_template.php on line 93 in a "execute"

C:\xampp\htdocs\catalog\includes\classes\osc_template.php is referenced in C:\xampp\htdocs\catalog\includes\template_top.php on line 2 in a "buildBlocks"

C:\xampp\htdocs\catalog\includes\template_top.php is referenced in C:\xampp\htdocs\catalog\index.php on line 24 in a "require"

 

I try to fix it, but other errors are appearing.

 

What I found out is, that all backups before I included the Modular SEO Header Tags 1.4.6 are working.

 

Maybe there is some advice, thanks.

 

Regards

Nico

Link to comment
Share on other sites

osCommerce 2.3.3 is not compatible with PHP 5.4 or later, and I doubt that most of the addons are either. I suggest that you use the latest version of PHP 5.3.

 

Regards

Jim

See my profile for a list of my addons and ways to get support.

Link to comment
Share on other sites

Jim, maybe its interesting:

 

PHP 5.3 - same problem.

 

The conflict is to find in catalog/includes/modules/header_tags/ht_front_title_store_name.php

 

If I remove the Module "Store Name in Title" under Header Tags, everything is working.

 

Very nice contribution, same ever, thanks for sharing.

 

Regards

Nico

Link to comment
Share on other sites

You're the only person who is reporting this, so I assumed it was the PHP version. Let's try an experiment: find this code in includes/application_top.php:

 

   include(DIR_WS_CLASSES . 'language.php');

 

and change it to:

 

   include_once(DIR_WS_CLASSES . 'language.php');

 

Please let me know if that helps.

 

Regards

Jim

See my profile for a list of my addons and ways to get support.

Link to comment
Share on other sites

Jim

 

You're the only person who is reporting this, so I assumed it was the PHP version. Let's try an experiment: find this code in includes/application_top.php:

 

include(DIR_WS_CLASSES . 'language.php');

 

and change it to:

 

include_once(DIR_WS_CLASSES . 'language.php');

 

Please let me know if that helps.

 

Regards

Jim

 

No, same error message:

Fatal error: Cannot redeclare class language in C:\xampp\htdocs\catalog\includes\classes\language.php

 

Regards

Nico

Link to comment
Share on other sites

Join the conversation

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

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  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...