Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


Reputation Activity

  1. Like
    ErikMM reacted to FWR Media in KissMT Dynamic SEO Meta & Canonical Header Tags   
    Hi Erik
    Glad the upgrade was easy for you .. KISS by name KISS by nature :)
    Not sure what was going on in my mind with the name change and I understand it would have created confusion.
    Well it's great that the stock system offers meta tags and canonical elements now but it doesn't .. yet .. match the functionality of KissMT.
    Once 2.4 is more "obvious in its nature" I will probably modify KissMT to add to the osCommerce module system as opposed to replace it. Or I may even push a mod through GIT to see if it can become a part of the core system .. god forbid :)
  2. Like
    ErikMM reacted to Jack_mcs in Google XML Sitemap SEO   
    They will be empty if you don't enable the setting for them. In that case, you shouldn't add those as sitemap entries in your google account.
  3. Like
    ErikMM reacted to geoffreywalton in Google XML Sitemap SEO   
    I got caught be this one

    "ERROR: Google Pages Sitemap Generation FAILED!"
    Actually it can mean no pages were found to go in this file.
    The test it does is for every file found in /includes/languages/english check and see if the file of the name name in the root of the shop contains the string <head> and is not in the list of files to exclude.
    I got the same error message, this was caused by the IsViewable function, which checks for <head> coming back with a "false" result for every file.
    In sitemap.class.php I changed it to

    function IsViewable($file) { if (is_readable($file)) { return true; } return false; }
    On a 2.3.1 site, I also had to change lines lines 593 odd to

    /*** ADD INFORMATION PAGES ***/ else if ($filename === 'information.php') { $sql = "SELECT information_id from " . TABLE_INFORMATION . " where information_id > '5' and visible = '1' and language_id = '" . (int)$languageID . "'";
    Otherwise I got entries for the header text.
  4. Like
    ErikMM reacted to kymation in [Addon] Categories Accordion Box for 2.3.1   
    I haven't tested this, but it should work All code in catalog/includes/modules/boxes/bm_categories_accordion.php. First, find these lines:

    $categories_string .= ' onclick="location.href=\''; $categories_string .= tep_href_link( FILENAME_DEFAULT, $cPath_new ); $categories_string .= '\';"';
    and comment them out. That should prevent the top-level categories from opening the categories page.
    To add static links to the box, find this code:

    $categories_string .= '<script type="text/javascript">' . PHP_EOL; $categories_string .= ' $(function() {' . PHP_EOL; $categories_string .= ' $( "#categoriesMenu" ).accordion({' . PHP_EOL;
    and just above it add this code:

    $bm_box_group = array( 'heading' => BOX_HEADING_CATEGORIES, 'apps' => array( array( 'code' => FILENAME_SPECIALS, 'title' => BOX_HEADING_SPECIALS, 'link' => tep_href_link(FILENAME_SPECIALS) ), array( 'code' => FILENAME_NEW_PRODUCTS, 'title' => BOX_HEADING_WHATS_NEW, 'link' => tep_href_link(FILENAME_NEW_PRODUCTS) ), array( 'code' => FILENAME_RELATED_PRODUCTS, 'title' => BOX_TEXT_RELATED, 'link' => tep_href_link(FILENAME_RELATED_PRODUCTS) ) ) ); $categories_string .= ' </div>' . PHP_EOL; // Add static links for each of the above arrays foreach( $bm_box_group['apps'] as $box_group ) { $category_count++; $categories_string .= ' <h3'; if ( basename( $PHP_SELF ) == $box_group['code'] ) { $category_active_id = $category_count - 1; } else { $categories_string .= ' onclick="location.href=\''; $categories_string .= $box_group['link']; $categories_string .= '\';"'; } $categories_string .= '>'; $categories_string .= '<a href="#">'; $categories_string .= $box_group['title']; $categories_string .= '</a>'; $categories_string .= '</h3>' . PHP_EOL; $categories_string .= ' <div>' . PHP_EOL; $categories_string .= ' </div>' . PHP_EOL; }
    Change the array in the above code to add the links that you want.
    Finally, you can hide subcategories by using any of several Addons to hide categories. Just make the modifications to the accordion box that you would normally make to the regular categories box.
  5. Like
    ErikMM reacted to kymation in jQuery Banner Rotator   
    You're doing this the hard way. Just copy the banner code from the footer and use that:

    <?php if ($banner = tep_banner_exists('dynamic', 'something')) { ?> <div class="grid_24" style="text-align: center;"> <?php echo tep_display_banner('static', $banner); ?> </div> <?php } ?>
    Change the something to whatever you named your banner group.
  6. Like
    ErikMM reacted to FWR Media in KissMT Dynamic SEO Meta & Canonical Header Tags   
    No addons of mine will require alteration.
    Just ensure that you make all the "cache" directories writeable.
    Some are sensitive to correct configure.php settings so ensure you get those right.
    If you do come across an issue then post in the relevant support topic.
  7. Like
    ErikMM reacted to FWR Media in KissMT Dynamic SEO Meta & Canonical Header Tags   
    This is extremely odd because I have error reporting set E_ALL | E_STRICT and I get no error .. BUT ..
    Line 134

    array_walk( $words_as_array, array( __CLASS__, 'stripStopWords' ) );
    Does require the method to be static. If line 134 was ..

    array_walk( $words_as_array, array( $this, 'stripStopWords' ) );
    It would not be required to be a static method. YET I get no error .. hmmmm.
    Anyway you can correct this one of two ways ..
    either change line 134 to ..

    array_walk( $words_as_array, array( $this, 'stripStopWords' ) );
    Or change ..

    private function stripStopWords( &$word ) {
    to ..

    private static function stripStopWords( &$word ) {
    Doesn't matter which you choose to change. In the next revision I'll probably change the method to static.
  8. Like
    ErikMM reacted to kymation in [Addon} Modular Front Page   
    Just upload the latest version of that file, nothing else.
  9. Like
    ErikMM reacted to fulluvscents in [Contribution] - USPS Methods   
    It won't work unless you're on the live server. So far, I haven't heard of any script bugs with any version of osc, so you shouldn't have any problems.
  10. Like
    ErikMM reacted to hughesca in AJAX Attribute Manager support   
    I'm happy to say AJAX Attribute Manager works great on the new OSC v2.3.1 with just a few minor adjustments!
    Here's what you need to do:
    Step 1. MAKE A BACKUP!!!!!11!!one1
    Step 2. Don't talk about figh....oh wait. :D
    Really though, make a backup...to your local drive...it will save you some day!
    Step 2. Upload the full attributeManager folder (found under catalogs in the AM download) to your admin folder.
    Step 3. Using your favorite editor, open up admin/categories.php. If you're using a halfway decent editor (Notepad++ WOOOOO!) you'll want to wander down to about line 244 or so. Here you will see this little fella:

    tep_db_perform(TABLE_PRODUCTS, $sql_data_array, 'update', "products_id = '" . (int)$products_id . "'"); }
    Modify it like so:

    tep_db_perform(TABLE_PRODUCTS, $sql_data_array, 'update', "products_id = '" . (int)$products_id . "'"); } /** AJAX Attribute Manager **/ require_once('attributeManager/includes/attributeManagerUpdateAtomic.inc.php'); /** AJAX Attribute Manager end **/
    Right now you're probably nudging your buddy going, "This smartass is just reading off the directions that come with the package!". Ok then Mr. Smartypants...find me <script language="javascript" src="includes/general.js"></script> in admin/categories.php! HA! You can't, because it's no longer there...no, putting it in there doesn't count. Alright, back to topic.
    As I mentioned above the next part of the instructions call for adding a snippet of code after <script language="javascript" src="includes/general.js"></script> and...well, as I said, it's no longer there. Don't fret though, it's still around...just in a different file.
    Step 4. So let's take that handy editor and open up admin/includes/template_top.php. Low and behold, there's our little friend (line 38)!

    <script type="text/javascript" src="<?php echo tep_catalog_href_link('ext/flot/jquery.flot.js'); ?>"></script> <link rel="stylesheet" type="text/css" href="includes/stylesheet.css"> <script type="text/javascript" src="includes/general.js"></script> <!---Hello there!
    So now we continue following instructions and make it look like so:

    <script type="text/javascript" src="<?php echo tep_catalog_href_link('ext/flot/jquery.flot.js'); ?>"></script> <link rel="stylesheet" type="text/css" href="includes/stylesheet.css"> <script type="text/javascript" src="includes/general.js"></script> <!-- AJAX Attribute Manager --> <?php require_once( 'attributeManager/includes/attributeManagerHeader.inc.php' )?> <!-- AJAX Attribute Manager end -->
    Now Harold and his buddies weren't trying to just make your life hell by moving it on ya. To my understanding, they have centralized page headers into a single file, so we no longer have to hunt through 30 different files to do so. Simple. Quick. Easy. Tidy.
    Now don't go closing admin/includes/template_top.php just yet, we're still going to need it.
    Step 5. Here they want you snooping around in admin/categories.php again for this little snippet: onload="SetFocus();". Don't waste your time...just like before. It's not there. But where could it be? Go ahead...guess where it is.
    WRONG (Unless you guessed it doesn't exist AT ALL.) :P
    That's right...it's nowhere to be found. So stop looking for it already! We're actually going to completely ignore onload="SetFocus();", it's nothing but a tease. Instead let's goto line 44 in our admin/includes/template_top.php we have open still.
    I know...what a disappointment. Just a lonely <body> tag...all by itself. Did I mention it was lonely?
    Let's get him some company! Let's take our <body>, dash on a bit of: onload="goOnLoad();" as per our instructions and viola! We end up with this:

    <body onload="goOnLoad();">
    Complicated stuff, isn't it? :lol: It's now safe to save and close admin/includes/template_top.php...we're done with it.
    Step 6. To finish up, we need to get back to admin/categories.php. Scroll waaaaaaaaaay on down to line 553 where you should find this:

    <tr bgcolor="#ebebff"> <td class="main"><?php echo TEXT_PRODUCTS_PRICE_GROSS; ?></td> <td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . tep_draw_input_field('products_price_gross', $pInfo->products_price, 'OnKeyUp="updateNet()"'); ?></td> </tr>
    Now pay attention to the word GROSS there as the modification comes after this specific snipit. Put the code from the instructions directly under it, like so:

    <tr bgcolor="#ebebff"> <td class="main"><?php echo TEXT_PRODUCTS_PRICE_GROSS; ?></td> <td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . tep_draw_input_field('products_price_gross', $pInfo->products_price, 'OnKeyUp="updateNet()"'); ?></td> </tr> <!-- AJAX Attribute Manager --> <tr> <td colspan="2"><?php require_once( 'attributeManager/includes/attributeManagerPlaceHolder.inc.php' )?></td> </tr> <!-- AJAX Attribute Manager end -->
    That it's...we're done! Now go upload your admin/categories.php and admin/includes/template_top.php to your web server and check it out!
    :o Oh noes!! :angry: It doesn't work! :'( What did you screw up this time? :-"
    Ha Ha! Gotcha. :devil: (Unless you happen to have QT Pro installed, then it probably worked, but it might not have and if it didn't I can't help you because I'm not using it!)
    Step 7. If you don't have QT Pro installed you very likely got all excited as it started to work and then ended in a tragic trainwreck of gobbly-gook ending with [TEP STOP]. I died a little inside when I saw it...did you?
    To fix it, we need to open up admin/attributeManager/classes/attributeManagerConfig.class.php (Say that 5 times fast!). As usual I'll feed ya a line number...maybe I should put them all together and go get a PowerBall ticket? Nah...I actually can't even afford a PowerBall ticket right now. But if you get one with my line numbers and win...please remember me. o:)
    Ah-hem. Sorry...where were we? Yes...admin/attributeManager/classes/attributeManagerConfig.class.php line number 65 is the one we want.

    $this->add('AM_USE_QT_PRO', true);
    Let's change that sucker to false...so it should look like so:

    $this->add('AM_USE_QT_PRO', false);
    That's it! Save admin/attributeManager/classes/attributeManagerConfig.class.php, toss it up on the web server and viola!
    There you have it. AJAX Attribute Manager in OSC v2.3.1.
  11. Like
    ErikMM reacted to DunWeb in 2.2 add-ons for 2.3?   
    There currently only 16 2.3.1 contributions, most of them language packs. It will take some time for the contributions to be re-written to work with 2.3.1.