Jump to content
chris23

[CONTRIBUTION] Subcategory textboxes

Recommended Posts

Hi Chris,

 

DONE!

with you key advice:

 

click the button with >> to get to the latest added rows

 

Display Subcategory textboxes

Subcategory text preview length

Display Subcategory textbox on product listing page

Display textboxes on MAIN categories

 

That was a good lesson, I even hadn't know that there is 9 pages!

Thank you for support and contribution!!! Now everythig is perfect with it!

 

Sergei

Share this post


Link to post
Share on other sites

Hi Vadim

 

Hello, Chris ! I'v solved this problem. I can can send you the solution in private or lay it out at Forum. What will be better ?

 

On the forum is best - it may prove useful to other users.

 

I have a question about contribution. You have provided possibility of displaying the subcategory textbox at the top of the contained product's information page. Is this good for SEO purposes ? On the one hand it allows to supply a product with the additional description, and with another - creates the pages with the duplicated content within the shop. It is very simple to disable this option, but I would like to know your opinion about this.

 

Very good question. I only added this feature because it was requested on the forum. I personally don't use it as I always intended the text boxes to provide unique content / keywords on a section by section basis. As you suggest, there is a potential SEO duplication penalty by having the same textbox content repeated on each product page. You'd need to talk to an SEO guru about the pros and cons of this as I'm no SEO expert (it's all black magic to me :blush: )

 

BTW - your English is very good - stop apologising :thumbsup:

 

Regards,

 

Chris


Please use forum for support rather than PM - PMs unrelated to my contributions will be ignored.

Google Site Search is your friend

My contributions: Tracking Module | PDF Customer Invoice | Subcategory textboxes

Share this post


Link to post
Share on other sites
Hi Vadim

On the forum is best - it may prove useful to other users.

Very good question. I only added this feature because it was requested on the forum. I personally don't use it as I always intended the text boxes to provide unique content / keywords on a section by section basis. As you suggest, there is a potential SEO duplication penalty by having the same textbox content repeated on each product page. You'd need to talk to an SEO guru about the pros and cons of this as I'm no SEO expert (it's all black magic to me :blush: )

 

BTW - your English is very good - stop apologising :thumbsup:

 

Regards,

 

Chris

Chris ! Thanks for the answer. You have dispelled my doubts.

 

 

And now I fulfil the promise. If you have the BTS installed the installation of Subcategory textboxes will have the following appearance :

 

 

1. Run subcategory_textboxes.sql ** This is not optional! **

 

 

2. New files to install (4)

---------------------------

 

 

1) admin/products_extra_category.php

 

2) admin/includes/languages/english/products_extra_category.php

 

3) admin/includes/languages/russian/products_extra_category.php

 

4) includes/modules/products_extra_category.php

 

 

3. Existing files to edit (10) ( if you have two languages in your shop )

-----------------------------

 

Note: line numbers, where given, are for a vanilla MS2.2 installation and yours may vary according to your other installed contributions.

 

-------------------------------------------------------------------------

 

1. admin/includes/boxes/catalog.php

 

AFTER:

 

'<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, '', 'NONSSL') . '" class="menuBoxContentLink">' . BOX_CATALOG_CATEGORIES_PRODUCTS_ATTRIBUTES . '</a><br>' .

 

Add:

 

'<a href="' . tep_href_link(FILENAME_CATEGORIES_EXTRA, '', 'NONSSL') . '" class="menuBoxContentLink">' . BOX_CATALOG_CATEGORIES_EXTRA_DESCRIPTION . '</a><br />' . //Added for extra categories information

 

-------------------------------------------------------------------------

 

2. admin/includes/filenames.php

 

BEFORE closing ?>

 

Add:

 

 

define('FILENAME_CATEGORIES_EXTRA','products_extra_category.php'); // added for Subcategory textboxes

 

-------------------------------------------------------------------------

 

3. admin/includes/database_tables.php

 

BEFORE closing ?>

 

Add:

 

define('TABLE_EXTRA_CATEGORIES','extra_cat_info'); // added for Subcategory textboxes

 

 

-------------------------------------------------------------------------

 

4. admin/includes/languages/english.php

 

BEFORE closing ?>

 

Add:

 

define('BOX_CATALOG_CATEGORIES_EXTRA_DESCRIPTION','Subcategory textbox'); // added for Subcategory textboxes

 

-------------------------------------------------------------------------

 

5. admin/includes/languages/espanol.php

 

BEFORE closing ?>

 

Add:

 

define('BOX_CATALOG_CATEGORIES_EXTRA_DESCRIPTION','Subcategorнa caja de texto'); // added for Subcategory textboxes

 

-------------------------------------------------------------------------

 

6. catalog/templates/fallback/content/index_nested.tpl

 

 

AFTER (around line 11):

 

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

 

Add:

 

<?php if (DISPLAY_CATS_ON_MAIN == 'true'){

include(DIR_WS_MODULES . FILENAME_CAT_TEXTBOX_MODULE); // added for Subcategory textboxes

}

?>

 

---------------------------------------------------------------------------

 

7. catalog/templates/fallback/content/index_products.tpl

 

BEFORE (around line 64):

 

<tr>

<td><?php include(DIR_WS_MODULES . FILENAME_PRODUCT_LISTING); ?></td>

</tr>

 

Add:

 

<?php include(DIR_WS_MODULES . FILENAME_CAT_TEXTBOX_MODULE); // added for Subcategory textboxes ?>

 

 

-------------------------------------------------------------------------

 

8. catalog/includes/database_tables.php

 

BEFORE closing ?>

 

Add:

 

define('TABLE_EXTRA_CATEGORIES','extra_cat_info'); // added for Subcategory textboxes

 

-------------------------------------------------------------------------

 

9. includes/filenames.php

 

BEFORE closing ?>

 

Add:

 

define('FILENAME_CAT_TEXTBOX_MODULE', 'products_extra_category.php'); // Added for category textboxes contribution

 

 

-------------------------------------------------------------------------

 

10. catalog/templates/fallback/content/product_info.tpl

 

AFTER (around line 85):

 

if (tep_not_null($product_info['products_model'])) {

$products_name = $product_info['products_name'] . '<br /><br /><span class="smallTextOR">Our code: ' . $product_info['products_model'] . '</span>';

} else {

$products_name = $product_info['products_name'];

}

?>

 

Add:

 

<?php

// category textbox mod

if (DISPLAY_EXTRA_CATEGORIES == 'true' && DISPLAY_CATS_ON_PROD_LISTING == 'true'){

if ($product_check['total'] >= 1) {

// now get textbox description for this *product* and display

$query = tep_db_query("select categories_description from " . TABLE_EXTRA_CATEGORIES . " left join " . TABLE_PRODUCTS_TO_CATEGORIES . " using (categories_id) where " . TABLE_PRODUCTS_TO_CATEGORIES .".products_id=" . (int)$HTTP_GET_VARS['products_id'] . " and " . TABLE_EXTRA_CATEGORIES .".language_id = '" . (int)$languages_id . "'");

while($category_info_text = tep_db_fetch_array($query)){

if(!empty($category_info_text['categories_description'])){ // prevent output where description not set for particular language

echo ("<tr><td colspan=\"2\"><div class=\"cat_info_box\">".$category_info_text['categories_description']."</div></td></tr>");

}

}

}

}

?>

 

 

-------------------------------------------------------------------------

 

11. catalog/stylesheet.css

 

Add (** Note: amend colours, border etc as necessary to suit your current css scheme! **):

 

/* category information boxes */

 

.cat_info_box {background: #fff6e6; border: solid 1px #6FA1C8; padding: 8px; margin-bottom: 10px; font-family: Verdana, Arial, sans-serif;

font-size: 11px; font-weight: bold}

 

 

-------------------------------------------------------------------------

 

** End files to edit **

 

So only the points #7 and # 10 of original installation procedure must be changed.

 

Best regards

Edited by Byzant

Share this post


Link to post
Share on other sites
And now I fulfil the promise. If you have the BTS installed the installation of Subcategory textboxes will have the following appearance :

 

Nice one Vadim! Thanks


Please use forum for support rather than PM - PMs unrelated to my contributions will be ignored.

Google Site Search is your friend

My contributions: Tracking Module | PDF Customer Invoice | Subcategory textboxes

Share this post


Link to post
Share on other sites

just minutes ago I´ve installed the new update and played around . While my osc is a little bit modified the shopping_cart.php parts are not, so I was able to replace it easily. So I was playing around on Opera, Seamonkey, Firefox and IE 7. Everything seems to be in good working order, just IE makes some problems(?). When inserting and removing multiple items numerous times, the remove button doesn´t seem to work then? Does anyone else have the same problem? I have to click on any other link to activate the REMOVE feature.

Share this post


Link to post
Share on other sites

Hi Chris

 

Coming in late on this thread, but just wanted to add my voice to the many praising you for this excellent contribution.

 

I had the "buggy SQL" problem and your excellent and clear instructions at the bottom of the install file walked me straight through the fix without any tears.

 

If I could just suggest a minor thing though? The SQL fix instructions say there are FOUR files at the end of the configuration table, when there are only three - it takes a little (genuinely little) thinking to realise that with four settings due in admin, there can only be four lines in the table - the early one plus the three at the end.

 

Also the instruction to find the "textboxes" row gives an incomplete configuration ID name - caused me a moment of minor panic until I figures out what you meant, after I couldn't find a row called just "textboxes".

 

Those are just instruction file edits that might help someone less experienced than me (if anyone like that does exist :-" )

 

Excellent work - I wish all contribs installed as easily as this one.

 

Gaz


Wearing a seatbelt prevents head injuries when the computer crashes - - - Yeah Right!!! - not in this office.

Share this post


Link to post
Share on other sites

Hi Chris

 

Maybe I spoke too soon ......

 

After installing the contrib, and while all the various editors etc were still open, I did a quick test to resolve any issues.

 

I did the text box edits to a couple of sub-categories (e.g. this one)

and it worked a treat. The relevant text showed up on the pre-created products perfectly too.

 

I'm used to doing html manually and don't want anything too fancy in the textboxes so I don't use TinyMCE or anything at all like it - the textareas use straight text and a top-left aligned image.

 

Seeing as it was working, I then closed all the file editors and connectors to the hosted site, and the mySQL phpAdmin window etc etc, then tried to do this subcategory text box from within osC admin.

 

Having typed it up, and hit save, I got this 403 error ...

 

Forbidden

You don't have permission to access /store/admin/products_extra_category.php on this server.

--------------------------------------------------------------------------------

Apache/1.3.27 Server at www.gazlannathai.com Port 80

 

OK thought I - I went into FTP and reset permissions on the file to 777

Same error when trying to save again (changed permissions back to 644)

 

Went back into mySQL phpAdmin - checked the table for anything added to the products_extra_category row (nothing found but not sure what to look for anyway - it looked the same to me) left the window open. closed and reopened Windows Explorer (I use it for file transport and only use FTP for setting permissions and major PC - Server - PC transfers), logged myself back onto server via WinExplorer etc etc as if I was installing the contrib again.

 

Then I tried to create and save another textbox for that subcategory - same error

 

The only difference between the ones that worked, and the one that won't, is that the first two had products in them, the third one hasn't any products yet - does this stop creation of the text box?

 

I've just tried to create a text box for the first level sub-category (with child categories) and it worked immediately

(see this 1st level subcategory)

 

So I'm guessing that the textboxes can only be created and populated after a category has subcategories and/or products?

Is that right?

 

-------------

 

If it's true, is there anyway this can be changed so that lowest level empty subcategories can have the text boxes created before the products are added?

 

On this site, the category structure is going to be huge (similar in size to eBay's) and it'll be a real pain to create it on the basis of "create categories - add a product to every bottom level category - create text boxes - add rest of products" especially when part of the philosophy for the site management is to have all possible categories created before anything except the few test products (in one or two categories) are added, and for empty categories to not show in the categories box in the left column during build, test, and again when live.

Just creating the category graphics is a mammoth task - almost 6000 individual graphics just for the category "icons", and around the same in unique product images for inclusion in the textboxes (one unique per category) - none of which is supposed to be commenced until the back end is completed.

 

Gaz


Wearing a seatbelt prevents head injuries when the computer crashes - - - Yeah Right!!! - not in this office.

Share this post


Link to post
Share on other sites

The description option it's coll.

 

In admin area I have no box to insert the description and I added in mysql. and t'other thing is: how we can add a description on subcategory?

For example, category id 25 could have a subcategory 34 which means 25_34 :blush::) well, I don't know how to add a description on 25_34, does anyone know?

Share this post


Link to post
Share on other sites
The description option it's coll.

 

In admin area I have no box to insert the description and I added in mysql. and t'other thing is: how we can add a description on subcategory?

For example, category id 25 could have a subcategory 34 which means 25_34 :blush::) well, I don't know how to add a description on 25_34, does anyone know?

 

From the sound of it, you haven't applied the "buggy SQL" fix at the bottom of the install txt file - that may be why you cannot see the box to edit in admin.

 

Try that first, and if it doesn't work, there may be deeper issues. (It worked for me and I had the same initial problem as you).

 

Gaz


Wearing a seatbelt prevents head injuries when the computer crashes - - - Yeah Right!!! - not in this office.

Share this post


Link to post
Share on other sites
From the sound of it, you haven't applied the "buggy SQL" fix at the bottom of the install txt file - that may be why you cannot see the box to edit in admin.

 

Try that first, and if it doesn't work, there may be deeper issues. (It worked for me and I had the same initial problem as you).

 

Gaz

 

 

:blink: I think I need a tutorial or some like that, to show me step by step. I tried in mysql but it's "ambiguous"

Share this post


Link to post
Share on other sites

Well I found the option to add the text from admin area, It was my fault :) I did't read the read-me file. I have a problem just with the subcategory, I can add a text on main category but not to subcategories. I think that something needs to be changed in the code, I have no idea what exactly.

 

 

it works for id # not for id #_# :(

Edited by d_paulo

Share this post


Link to post
Share on other sites
Well I found the option to add the text from admin area, It was my fault :) I did't read the read-me file. I have a problem just with the subcategory, I can add a text on main category but not to subcategories. I think that something needs to be changed in the code, I have no idea what exactly.

it works for id # not for id #_# :(

 

Actually what is happening here: I can add a text on subcategory and appears a little different, for ex. category 28_55 become 55.

In admin area, in my records apperas to be id 55 but in the browser I have the address ...........index.php?cPath=28_55and the text description is not displayed :(

 

is this a listing issue? you still think that the problem could be the sql one?

 

it's not displayed only for the first/second level sub-category

Edited by d_paulo

Share this post


Link to post
Share on other sites

Unlikely to be sql at this stage if everything else is working

 

Does your sub category have products or sub-sub categories?

 

If not, you might be getting the same issue I posted earlier - I'm waiting for the developer to see the post and add an answer

 

Gaz


Wearing a seatbelt prevents head injuries when the computer crashes - - - Yeah Right!!! - not in this office.

Share this post


Link to post
Share on other sites
Hi Sergei,

You're on the first page, showing the first 30 rows. The 4 new entries will be the last four click the button with >> to get to the latest added rows

 

Display Subcategory textboxes

Subcategory text preview length

Display Subcategory textbox on product listing page

Display textboxes on MAIN categories

HTH

 

Chris

 

I do not have these.....I ran the sql file,and it completed successfully. When I go to Admin>Textboxes, I get no errors..but the configuration area where the options to turn it on/off, subcat text preview length, etc is blank! Nothing there at all!

 

WHen I visit Admin>Categories>Subcategory textboxes I can add/edit/delete textboxes with no errors, but of course nothing is displayed on my catalog. I ran this command multiple times thinking it was not "taking" for some reason:

 

INSERT INTO `configuration` VALUES ('', 'Display Subcategory textboxes', 'DISPLAY_EXTRA_CATEGORIES', 'true', 'Do you wish to enable subcategory textboxes globally?', last_insert_id(), 1, '2006-11-13 19:36:21', '2006-11-13 14:40:05', '', 'tep_cfg_select_option(array(''false'', ''true''),'), ('', 'Subcategory text preview length', 'CAT_TEXT_PREVIEW', '150', 'Set length of subcategory text to be displayed in preview field.<br>Set to something huge (20000) to view all text', last_insert_id(), 2, '2006-11-16 14:47:25', '2006-11-16 14:40:05', '', ''), ('', 'Display Subcategory textbox on product listing page', 'DISPLAY_CATS_ON_PROD_LISTING', 'true', 'Do you want to display the subcategory textbox contents at the top of the products listing page for products within the subcategory?', last_insert_id(), 3, '2006-11-24 17:04:17', '2006-11-20 14:40:05', NULL, 'tep_cfg_select_option(array(''false'', ''true''),'), ('', 'Display textboxes on MAIN categories', 'DISPLAY_CATS_ON_MAIN', 'true', 'Do you want to display textboxes on main categories as well as subcategories?<br />Note: you need to enable this option to be able to add main category textboxes via admin panel.', last_insert_id(), 4, '2006-11-24 17:59:51', '2006-11-20 14:40:05', NULL, 'tep_cfg_select_option(array(''false'', ''true''),');

 

but instead, it added itself 4 different times...if I run a search query for "Display Subcategory textboxes" ...just to find where things are located, it finds 4 instances:

 

Showing rows 0 - 3 (4 total)
SQL-query : [Edit] [Explain SQL] [Create PHP Code]
SELECT `configuration_id` , `configuration_title` , `configuration_key` , `configuration_value` , `configuration_description` , `configuration_group_id` , `sort_order` , `last_modified` , `date_added` , `use_function` , `set_function`
FROM `database_acgeneral`.`configuration`
WHERE `configuration_id`
LIKE 'Display Subcategory textboxes' OR `configuration_title`
LIKE 'Display Subcategory textboxes' OR `configuration_key`
LIKE 'Display Subcategory textboxes' OR `configuration_value`
LIKE 'Display Subcategory textboxes' OR `configuration_description`
LIKE 'Display Subcategory textboxes' OR `configuration_group_id`
LIKE 'Display Subcategory textboxes' OR `sort_order`
LIKE 'Display Subcategory textboxes' OR `last_modified`
LIKE 'Display Subcategory textboxes' OR `date_added`
LIKE 'Display Subcategory textboxes' OR `use_function`
LIKE 'Display Subcategory textboxes' OR `set_function`
LIKE 'Display Subcategory textboxes' LIMIT 0, 30

 

 Edit   	
320 	Display Subcategory textboxes 	DISPLAY_EXTRA_CATEGORIES 	true 	Do you wish to enable subcategory textboxes globally? 	0 	1 	2006-11-13 19:36:21 	2006-11-13 14:40:05 		  tep_cfg_select_option(array('false', 'true'),
Edit 	
324 	Display Subcategory textboxes 	DISPLAY_EXTRA_CATEGORIES 	true 	Do you wish to enable subcategory textboxes globally? 	0 	1 	2006-11-13 19:36:21 	2006-11-13 14:40:05 		  tep_cfg_select_option(array('false', 'true'),
Edit 	
328 	Display Subcategory textboxes 	DISPLAY_EXTRA_CATEGORIES 	true 	Do you wish to enable subcategory textboxes globally? 	0 	1 	2006-11-13 19:36:21 	2006-11-13 14:40:05 		  tep_cfg_select_option(array('false', 'true'),
Edit 	
332 	Display Subcategory textboxes 	DISPLAY_EXTRA_CATEGORIES 	true 	Do you wish to enable subcategory textboxes globally? 	0 	1 	2006-11-13 19:36:21 	2006-11-13 14:40:05 		  tep_cfg_select_option(array('false', 'true'),

Edited by magicmycote

Share this post


Link to post
Share on other sites
Unlikely to be sql at this stage if everything else is working

 

Does your sub category have products or sub-sub categories?

 

If not, you might be getting the same issue I posted earlier - I'm waiting for the developer to see the post and add an answer

 

Gaz

 

Hi Gaz,

Sorry to take so long to reply - I've been bombed supporting my latest contribution and have neglected this thread.

 

To answer your queries:

 

1) No, you don't need products in either a main or subcategory to have a textbox. Textboxes will display regardless of product content. You can have a store full of textboxes but no products!

 

2. Subcategories will nest down e.g. Hardware -> CD-ROM -> Sony. You can set a textbox for any level.

 

3. You can, optionally, have the category textbox product pages within that category.

 

In view of your installation woes, I would strongly advise rolling back and trying a reinstall, especially clearing any database artifacts left by the buggy MySQL problem (bain of my life!)

 

Hope you get sorted - this contrib is normally very well behaved - I don't need to give it much support normally which means it's either OK or no-one's using it :D

 

Cheers

 

Chris


Please use forum for support rather than PM - PMs unrelated to my contributions will be ignored.

Google Site Search is your friend

My contributions: Tracking Module | PDF Customer Invoice | Subcategory textboxes

Share this post


Link to post
Share on other sites

Thanks Chris

 

I'll have to look at it later - I've got way too many projects on the go to worry too much immediately about something that isn't breaking anything else.

 

(Got to do a Microsoft Exchange Server debug-rebuild today (hopefully it IS only today and doesn't roll into one of those niggling week long tasks) - could have done without this job arriving)

 

Will get back to you once I sort it out - it may be a conflict with another mod as several biggies have been put in and ripped out due to not working properly (e.g. CCGV(Trad) - groan, cost me a month that one did)

 

Gaz


Wearing a seatbelt prevents head injuries when the computer crashes - - - Yeah Right!!! - not in this office.

Share this post


Link to post
Share on other sites
(e.g. CCGV(Trad) - groan, cost me a month that one did)

 

Yep Gaz, CCGV is a monster, even for seasoned osCommercers! :'(


Please use forum for support rather than PM - PMs unrelated to my contributions will be ignored.

Google Site Search is your friend

My contributions: Tracking Module | PDF Customer Invoice | Subcategory textboxes

Share this post


Link to post
Share on other sites

Hi, I installed your great contribution as carefully as I could, and all seemed to be as it should, but... it won't work for me. I have a few issues that may or may not be related, so here goes:

 

1. In admin/categories.php?selected_box=catalog, I have the following in the Configuration infobox:

 

Catalog

Categories/Products

Products Attributes

Subcategory textbox

Manufacturers

Reviews

Specials

Products Expected

 

If I select Subcategory textbox, I see

 

HEADING_TITLE

 

TABLE_HEADING_CATEGORY_ID TABLE_HEADING_CATEGORY_NAME TABLE_HEADING_CATEGORY_DESCRIPTIONDISPLAY_TRUNC_CHAR TABLE_HEADING_ACTION

 

TEXT_PAGING_FORMAT

 

The first line is the page title, the second and third are all in a breadcrumb bar under the title, and the last is all that is in the body.

 

2. I do have the Textbox item in the admin/configuration menu, but when I try to change any settings, I get the following error message:

 

Warning: Cannot modify header information - headers already sent by (output started at /home/supper5/public_html/oscommerce/admin/includes/languages/english.php:612) in /home/supper5/public_html/oscommerce/admin/includes/functions/general.php on line 22

 

Oddly, the changes seem to stick after going back and refreshing!

 

3. There is no place to enter text when I select a subcategory to edit.

 

Wondering what dumb mistake I made along the way.

 

Thanks in advance! Bruce

Share this post


Link to post
Share on other sites

Hi Bruce,

 

1. If I select Subcategory textbox, I see

 

HEADING_TITLE

 

TABLE_HEADING_CATEGORY_ID TABLE_HEADING_CATEGORY_NAME TABLE_HEADING_CATEGORY_DESCRIPTIONDISPLAY_TRUNC_CHAR TABLE_HEADING_ACTION

 

TEXT_PAGING_FORMAT

 

This looks like you've forgotten to upload the language file: catalog/admin/languages/english/products_extra_category.php

 

2. I do have the Textbox item in the admin/configuration menu, but when I try to change any settings, I get the following error message:

 

Warning: Cannot modify header information - headers already sent by (output started at /home/supper5/public_html/oscommerce/admin/includes/languages/english.php:612) in /home/supper5/public_html/oscommerce/admin/includes/functions/general.php on line 22

 

This PHP error is usually caused by having extraneous whitespace before the opening <?php or after the closing ?> in a PHP file. Check your admin/includes/languages/english.php for extra whitespace. It can be inadvertently added when you're adding constants to the file

 

Oddly, the changes seem to stick after going back and refreshing!

 

3. There is no place to enter text when I select a subcategory to edit.

 

Not sure why this is happening. When you say 'edit', are your referring to creating an entry or editing an existing entry?

 

HTH

 

Chris


Please use forum for support rather than PM - PMs unrelated to my contributions will be ignored.

Google Site Search is your friend

My contributions: Tracking Module | PDF Customer Invoice | Subcategory textboxes

Share this post


Link to post
Share on other sites

Thanks for the prompt reply Chris. I'll take a look at the fixing the first 2 issues and let you know.

 

On the third, there is no where to create an entry. The display I see when I select "edit" for a subcategory looks like like it did before. I get three choices, Name, Image, and Sort Order. No where to enter textbox text.

 

I'll get back with the edits and let you know.

 

Bruce

Share this post


Link to post
Share on other sites

Chris,

 

Well, when I opened the File Manager in Admin, I got the same error as above.

 

Looked at the files using a FTP program, and could not find the whitespace causing the problem. I did note a missing line,

 

define('BOX_CATALOG_CATEGORIES_EXTRA_DESCRIPTION','Subcategory textbox'); // added for Subcategory textboxes

 

which I have subsequently added .

 

Here is the file:

<?php

/*

 $Id: english.php,v 1.114 2003/07/09 18:13:39 dgw_ Exp $



 osCommerce, Open Source E-Commerce Solutions

 [url="http://www.oscommerce.com"]http://www.oscommerce.com[/url]



 Copyright © 2003 osCommerce



 Released under the GNU General Public License

*/



// look in your $PATH_LOCALE/locale directory for available locales

// or type locale -a on the server.

// Examples:

// on RedHat try 'en_US'

// on FreeBSD try 'en_US.ISO_8859-1'

// on Windows try 'en', or 'English'

@setlocale(LC_TIME, 'en_US.ISO_8859-1');



define('DATE_FORMAT_SHORT', '%m/%d/%Y');  // this is used for strftime()

define('DATE_FORMAT_LONG', '%A %d %B, %Y'); // this is used for strftime()

define('DATE_FORMAT', 'm/d/Y'); // this is used for date()

define('DATE_TIME_FORMAT', DATE_FORMAT_SHORT . ' %H:%M:%S');



////

// Return date in raw format

// $date should be in format mm/dd/yyyy

// raw date is in format YYYYMMDD, or DDMMYYYY

function tep_date_raw($date, $reverse = false) {

 if ($reverse) {

   return substr($date, 3, 2) . substr($date, 0, 2) . substr($date, 6, 4);

 } else {

   return substr($date, 6, 4) . substr($date, 0, 2) . substr($date, 3, 2);

 }

}



// if USE_DEFAULT_LANGUAGE_CURRENCY is true, use the following currency, instead of the applications default currency (used when changing language)

define('LANGUAGE_CURRENCY', 'USD');



// Global entries for the <html> tag

define('HTML_PARAMS','dir="LTR" lang="en"');



// charset for web pages and emails

define('CHARSET', 'iso-8859-1');



// page title

define('TITLE', STORE_NAME);



// header text in includes/header.php

define('HEADER_TITLE_CREATE_ACCOUNT', 'Create an Account');

define('HEADER_TITLE_MY_ACCOUNT', 'My Account');

define('HEADER_TITLE_CART_CONTENTS', 'Cart Contents');

define('HEADER_TITLE_CHECKOUT', 'Checkout');

define('HEADER_TITLE_TOP', 'Home');

define('HEADER_TITLE_CATALOG', ' Menu');

define('HEADER_TITLE_LOGOFF', 'Log Off');

define('HEADER_TITLE_LOGIN', 'Log In');



// footer text in includes/footer.php

define('FOOTER_TEXT_REQUESTS_SINCE', 'requests since');



// text for gender

define('MALE', 'Male');

define('FEMALE', 'Female');

define('MALE_ADDRESS', 'Mr.');

define('FEMALE_ADDRESS', 'Ms.');



// text for date of birth example

define('DOB_FORMAT_STRING', 'mm/dd/yyyy');



// categories box text in includes/boxes/categories.php

define('BOX_HEADING_CATEGORIES', 'Categories');



// manufacturers box text in includes/boxes/manufacturers.php

define('BOX_HEADING_MANUFACTURERS', 'Manufacturers');



// whats_new box text in includes/boxes/whats_new.php

define('BOX_HEADING_WHATS_NEW', 'What\'s New?');



// quick_find box text in includes/boxes/quick_find.php

define('BOX_HEADING_SEARCH', 'Quick Find');

define('BOX_SEARCH_TEXT', 'Use keywords to find the product you are looking for.');

define('BOX_SEARCH_ADVANCED_SEARCH', 'Advanced Search');



// specials box text in includes/boxes/specials.php

define('BOX_HEADING_SPECIALS', 'Specials');



// reviews box text in includes/boxes/reviews.php

define('BOX_HEADING_REVIEWS', 'Reviews');

define('BOX_REVIEWS_WRITE_REVIEW', 'Write a review on this product!');

define('BOX_REVIEWS_NO_REVIEWS', 'There are currently no product reviews');

define('BOX_REVIEWS_TEXT_OF_5_STARS', '%s of 5 Stars!');



// shopping_cart box text in includes/boxes/shopping_cart.php

define('BOX_HEADING_SHOPPING_CART', 'Shopping Cart');

define('BOX_SHOPPING_CART_EMPTY', '0 items');



// order_history box text in includes/boxes/order_history.php

define('BOX_HEADING_CUSTOMER_ORDERS', 'Order History');



// best_sellers box text in includes/boxes/best_sellers.php

define('BOX_HEADING_BESTSELLERS', 'Bestsellers');

define('BOX_HEADING_BESTSELLERS_IN', 'Bestsellers in<br>  ');



// notifications box text in includes/boxes/products_notifications.php

define('BOX_HEADING_NOTIFICATIONS', 'Notifications');

define('BOX_NOTIFICATIONS_NOTIFY', 'Notify me of updates to <b>%s</b>');

define('BOX_NOTIFICATIONS_NOTIFY_REMOVE', 'Do not notify me of updates to <b>%s</b>');



// manufacturer box text

define('BOX_HEADING_MANUFACTURER_INFO', 'Manufacturer Info');

define('BOX_MANUFACTURER_INFO_HOMEPAGE', '%s Homepage');

define('BOX_MANUFACTURER_INFO_OTHER_PRODUCTS', 'Other products');



// languages box text in includes/boxes/languages.php

define('BOX_HEADING_LANGUAGES', 'Languages');



// currencies box text in includes/boxes/currencies.php

define('BOX_HEADING_CURRENCIES', 'Currencies');



// information box text in includes/boxes/information.php

define('BOX_HEADING_INFORMATION', 'Information');

define('BOX_INFORMATION_PRIVACY', 'Privacy Notice');

define('BOX_INFORMATION_CONDITIONS', 'Conditions of Use');

define('BOX_INFORMATION_SHIPPING', 'Shipping & Returns');

define('BOX_INFORMATION_CONTACT', 'Contact Us');



// tell a friend box text in includes/boxes/tell_a_friend.php

define('BOX_HEADING_TELL_A_FRIEND', 'Tell A Friend');

define('BOX_TELL_A_FRIEND_TEXT', 'Tell someone you know about this product.');



// checkout procedure text

define('CHECKOUT_BAR_DELIVERY', 'Delivery Information');

define('CHECKOUT_BAR_PAYMENT', 'Payment Information');

define('CHECKOUT_BAR_CONFIRMATION', 'Confirmation');

define('CHECKOUT_BAR_FINISHED', 'Finished!');



// pull down default text

define('PULL_DOWN_DEFAULT', 'Please Select');

define('TYPE_BELOW', 'Type Below');



// javascript messages

define('JS_ERROR', 'Errors have occured during the process of your form.\n\nPlease make the following corrections:\n\n');



define('JS_REVIEW_TEXT', '* The \'Review Text\' must have at least ' . REVIEW_TEXT_MIN_LENGTH . ' characters.\n');

define('JS_REVIEW_RATING', '* You must rate the product for your review.\n');



define('JS_ERROR_NO_PAYMENT_MODULE_SELECTED', '* Please select a payment method for your order.\n');



define('JS_ERROR_SUBMITTED', 'This form has already been submitted. Please press Ok and wait for this process to be completed.');



define('ERROR_NO_PAYMENT_MODULE_SELECTED', 'Please select a payment method for your order.');



define('CATEGORY_COMPANY', 'Company Details');

define('CATEGORY_PERSONAL', 'Your Personal Details');

define('CATEGORY_ADDRESS', 'Your Address');

define('CATEGORY_CONTACT', 'Your Contact Information');

define('CATEGORY_OPTIONS', 'Options');

define('CATEGORY_PASSWORD', 'Your Password');



define('ENTRY_COMPANY', 'Company Name:');

define('ENTRY_COMPANY_ERROR', '');

define('ENTRY_COMPANY_TEXT', '');

define('ENTRY_GENDER', 'Gender:');

define('ENTRY_GENDER_ERROR', 'Please select your Gender.');

define('ENTRY_GENDER_TEXT', '*');

define('ENTRY_FIRST_NAME', 'First Name:');

define('ENTRY_FIRST_NAME_ERROR', 'Your First Name must contain a minimum of ' . ENTRY_FIRST_NAME_MIN_LENGTH . ' characters.');

define('ENTRY_FIRST_NAME_TEXT', '*');

define('ENTRY_LAST_NAME', 'Last Name:');

define('ENTRY_LAST_NAME_ERROR', 'Your Last Name must contain a minimum of ' . ENTRY_LAST_NAME_MIN_LENGTH . ' characters.');

define('ENTRY_LAST_NAME_TEXT', '*');

define('ENTRY_DATE_OF_BIRTH', 'Date of Birth:');

define('ENTRY_DATE_OF_BIRTH_ERROR', 'Your Date of Birth must be in this format: MM/DD/YYYY (eg 05/21/1970)');

define('ENTRY_DATE_OF_BIRTH_TEXT', '* (eg. 05/21/1970)');

define('ENTRY_EMAIL_ADDRESS', 'E-Mail Address:');

define('ENTRY_EMAIL_ADDRESS_ERROR', 'Your E-Mail Address must contain a minimum of ' . ENTRY_EMAIL_ADDRESS_MIN_LENGTH . ' characters.');

define('ENTRY_EMAIL_ADDRESS_CHECK_ERROR', 'Your E-Mail Address does not appear to be valid - please make any necessary corrections.');

define('ENTRY_EMAIL_ADDRESS_ERROR_EXISTS', 'Your E-Mail Address already exists in our records - please log in with the e-mail address or create an account with a different address.');

define('ENTRY_EMAIL_ADDRESS_TEXT', '*');

define('ENTRY_STREET_ADDRESS', 'Street Address:');

define('ENTRY_STREET_ADDRESS_ERROR', 'Your Street Address must contain a minimum of ' . ENTRY_STREET_ADDRESS_MIN_LENGTH . ' characters.');

define('ENTRY_STREET_ADDRESS_TEXT', '*');

define('ENTRY_SUBURB', 'Suburb:');

define('ENTRY_SUBURB_ERROR', '');

define('ENTRY_SUBURB_TEXT', '');

define('ENTRY_POST_CODE', 'Post Code:');

define('ENTRY_POST_CODE_ERROR', 'Your Post Code must contain a minimum of ' . ENTRY_POSTCODE_MIN_LENGTH . ' characters.');

define('ENTRY_POST_CODE_TEXT', '*');

define('ENTRY_CITY', 'City:');

define('ENTRY_CITY_ERROR', 'Your City must contain a minimum of ' . ENTRY_CITY_MIN_LENGTH . ' characters.');

define('ENTRY_CITY_TEXT', '*');

define('ENTRY_STATE', 'State/Province:');

define('ENTRY_STATE_ERROR', 'Your State must contain a minimum of ' . ENTRY_STATE_MIN_LENGTH . ' characters.');

define('ENTRY_STATE_ERROR_SELECT', 'Please select a state from the States pull down menu.');

define('ENTRY_STATE_TEXT', '*');

define('ENTRY_COUNTRY', 'Country:');

define('ENTRY_COUNTRY_ERROR', 'You must select a country from the Countries pull down menu.');

define('ENTRY_COUNTRY_TEXT', '*');

define('ENTRY_TELEPHONE_NUMBER', 'Telephone Number:');

define('ENTRY_TELEPHONE_NUMBER_ERROR', 'Your Telephone Number must contain a minimum of ' . ENTRY_TELEPHONE_MIN_LENGTH . ' characters.');

define('ENTRY_TELEPHONE_NUMBER_TEXT', '*');

define('ENTRY_FAX_NUMBER', 'Fax Number:');

define('ENTRY_FAX_NUMBER_ERROR', '');

define('ENTRY_FAX_NUMBER_TEXT', '');

define('ENTRY_NEWSLETTER', 'Newsletter:');

define('ENTRY_NEWSLETTER_TEXT', '');

define('ENTRY_NEWSLETTER_YES', 'Subscribed');

define('ENTRY_NEWSLETTER_NO', 'Unsubscribed');

define('ENTRY_NEWSLETTER_ERROR', '');

define('ENTRY_PASSWORD', 'Password:');

define('ENTRY_PASSWORD_ERROR', 'Your Password must contain a minimum of ' . ENTRY_PASSWORD_MIN_LENGTH . ' characters.');

define('ENTRY_PASSWORD_ERROR_NOT_MATCHING', 'The Password Confirmation must match your Password.');

define('ENTRY_PASSWORD_TEXT', '*');

define('ENTRY_PASSWORD_CONFIRMATION', 'Password Confirmation:');

define('ENTRY_PASSWORD_CONFIRMATION_TEXT', '*');

define('ENTRY_PASSWORD_CURRENT', 'Current Password:');

define('ENTRY_PASSWORD_CURRENT_TEXT', '*');

define('ENTRY_PASSWORD_CURRENT_ERROR', 'Your Password must contain a minimum of ' . ENTRY_PASSWORD_MIN_LENGTH . ' characters.');

define('ENTRY_PASSWORD_NEW', 'New Password:');

define('ENTRY_PASSWORD_NEW_TEXT', '*');

define('ENTRY_PASSWORD_NEW_ERROR', 'Your new Password must contain a minimum of ' . ENTRY_PASSWORD_MIN_LENGTH . ' characters.');

define('ENTRY_PASSWORD_NEW_ERROR_NOT_MATCHING', 'The Password Confirmation must match your new Password.');

define('PASSWORD_HIDDEN', '--HIDDEN--');



define('FORM_REQUIRED_INFORMATION', '* Required information');



// constants for use in tep_prev_next_display function

define('TEXT_RESULT_PAGE', 'Result Pages:');

define('TEXT_DISPLAY_NUMBER_OF_PRODUCTS', 'Displaying <b>%d</b> to <b>%d</b> (of <b>%d</b> products)');

define('TEXT_DISPLAY_NUMBER_OF_ORDERS', 'Displaying <b>%d</b> to <b>%d</b> (of <b>%d</b> orders)');

define('TEXT_DISPLAY_NUMBER_OF_REVIEWS', 'Displaying <b>%d</b> to <b>%d</b> (of <b>%d</b> reviews)');

define('TEXT_DISPLAY_NUMBER_OF_PRODUCTS_NEW', 'Displaying <b>%d</b> to <b>%d</b> (of <b>%d</b> new products)');

define('TEXT_DISPLAY_NUMBER_OF_SPECIALS', 'Displaying <b>%d</b> to <b>%d</b> (of <b>%d</b> specials)');



define('PREVNEXT_TITLE_FIRST_PAGE', 'First Page');

define('PREVNEXT_TITLE_PREVIOUS_PAGE', 'Previous Page');

define('PREVNEXT_TITLE_NEXT_PAGE', 'Next Page');

define('PREVNEXT_TITLE_LAST_PAGE', 'Last Page');

define('PREVNEXT_TITLE_PAGE_NO', 'Page %d');

define('PREVNEXT_TITLE_PREV_SET_OF_NO_PAGE', 'Previous Set of %d Pages');

define('PREVNEXT_TITLE_NEXT_SET_OF_NO_PAGE', 'Next Set of %d Pages');

define('PREVNEXT_BUTTON_FIRST', '<<FIRST');

define('PREVNEXT_BUTTON_PREV', '[<< Prev]');

define('PREVNEXT_BUTTON_NEXT', '[Next >>]');

define('PREVNEXT_BUTTON_LAST', 'LAST>>');



define('IMAGE_BUTTON_ADD_ADDRESS', 'Add Address');

define('IMAGE_BUTTON_ADDRESS_BOOK', 'Address Book');

define('IMAGE_BUTTON_BACK', 'Back');

define('IMAGE_BUTTON_BUY_NOW', 'Buy Now');

define('IMAGE_BUTTON_CHANGE_ADDRESS', 'Change Address');

define('IMAGE_BUTTON_CHECKOUT', 'Checkout');

define('IMAGE_BUTTON_CONFIRM_ORDER', 'Confirm Order');

define('IMAGE_BUTTON_CONTINUE', 'Continue');

define('IMAGE_BUTTON_CONTINUE_SHOPPING', 'Continue Shopping');

define('IMAGE_BUTTON_DELETE', 'Delete');

define('IMAGE_BUTTON_EDIT_ACCOUNT', 'Edit Account');

define('IMAGE_BUTTON_HISTORY', 'Order History');

define('IMAGE_BUTTON_LOGIN', 'Sign In');

define('IMAGE_BUTTON_IN_CART', 'Add to Cart');

define('IMAGE_BUTTON_NOTIFICATIONS', 'Notifications');

define('IMAGE_BUTTON_QUICK_FIND', 'Quick Find');

define('IMAGE_BUTTON_REMOVE_NOTIFICATIONS', 'Remove Notifications');

define('IMAGE_BUTTON_REVIEWS', 'Reviews');

define('IMAGE_BUTTON_SEARCH', 'Search');

define('IMAGE_BUTTON_SHIPPING_OPTIONS', 'Shipping Options');

define('IMAGE_BUTTON_TELL_A_FRIEND', 'Tell a Friend');

define('IMAGE_BUTTON_UPDATE', 'Update');

define('IMAGE_BUTTON_UPDATE_CART', 'Update Cart');

define('IMAGE_BUTTON_WRITE_REVIEW', 'Write Review');



define('SMALL_IMAGE_BUTTON_DELETE', 'Delete');

define('SMALL_IMAGE_BUTTON_EDIT', 'Edit');

define('SMALL_IMAGE_BUTTON_VIEW', 'View');



define('ICON_ARROW_RIGHT', 'more');

define('ICON_CART', 'In Cart');

define('ICON_ERROR', 'Error');

define('ICON_SUCCESS', 'Success');

define('ICON_WARNING', 'Warning');



define('TEXT_GREETING_PERSONAL', 'Welcome back <span class="greetUser">%s!</span> Would you like to see which <a href="%s"><u>new products</u></a> are available to purchase?');

define('TEXT_GREETING_PERSONAL_RELOGON', '<small>If you are not %s, please <a href="%s"><u>log yourself in</u></a> with your account information.</small>');

define('TEXT_GREETING_GUEST', 'If your are at this page, you have probably already been shopping and would like to continue to do so.  At this point, if you are a returning visitor, you may want to <a href="%s"><u>log yourself in.</u></a> Or if you are new to our site, you might want to <a href="%s"><u>create an account</u></a>.');



define('TEXT_SORT_PRODUCTS', 'Sort products ');

define('TEXT_DESCENDINGLY', 'descendingly');

define('TEXT_ASCENDINGLY', 'ascendingly');

define('TEXT_BY', ' by ');



define('TEXT_REVIEW_BY', 'by %s');

define('TEXT_REVIEW_WORD_COUNT', '%s words');

define('TEXT_REVIEW_RATING', 'Rating: %s [%s]');

define('TEXT_REVIEW_DATE_ADDED', 'Date Added: %s');

define('TEXT_NO_REVIEWS', 'There are currently no product reviews.');



define('TEXT_NO_NEW_PRODUCTS', 'There are currently no products.');



define('TEXT_UNKNOWN_TAX_RATE', 'Unknown tax rate');



define('TEXT_REQUIRED', '<span class="errorText">Required</span>');



define('ERROR_TEP_MAIL', '<font face="Verdana, Arial" size="2" color="#ff0000"><b><small>TEP ERROR:</small> Cannot send the email through the specified SMTP server. Please check your php.ini setting and correct the SMTP server if necessary.</b></font>');

define('WARNING_INSTALL_DIRECTORY_EXISTS', 'Warning: Installation directory exists at: ' . dirname($HTTP_SERVER_VARS['SCRIPT_FILENAME']) . '/install. Please remove this directory for security reasons.');

define('WARNING_CONFIG_FILE_WRITEABLE', 'Warning: I am able to write to the configuration file: ' . dirname($HTTP_SERVER_VARS['SCRIPT_FILENAME']) . '/includes/configure.php. This is a potential security risk - please set the right user permissions on this file.');

define('WARNING_SESSION_DIRECTORY_NON_EXISTENT', 'Warning: The sessions directory does not exist: ' . tep_session_save_path() . '. Sessions will not work until this directory is created.');

define('WARNING_SESSION_DIRECTORY_NOT_WRITEABLE', 'Warning: I am not able to write to the sessions directory: ' . tep_session_save_path() . '. Sessions will not work until the right user permissions are set.');

define('WARNING_SESSION_AUTO_START', 'Warning: session.auto_start is enabled - please disable this php feature in php.ini and restart the web server.');

define('WARNING_DOWNLOAD_DIRECTORY_NON_EXISTENT', 'Warning: The downloadable products directory does not exist: ' . DIR_FS_DOWNLOAD . '. Downloadable products will not work until this directory is valid.');



define('TEXT_CCVAL_ERROR_INVALID_DATE', 'The expiry date entered for the credit card is invalid.<br>Please check the date and try again.');

define('TEXT_CCVAL_ERROR_INVALID_NUMBER', 'The credit card number entered is invalid.<br>Please check the number and try again.');

define('TEXT_CCVAL_ERROR_UNKNOWN_CARD', 'The first four digits of the number entered are: %s<br>If that number is correct, we do not accept that type of credit card.<br>If it is wrong, please try again.');



define('FOOTER_TEXT_BODY', 'Copyright © ' . date('Y') . ' <a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . STORE_NAME . '</a><br>Powered by <a href="http://www.oscommerce.com" target="_blank">osCommerce</a>');

?>

 

And, the includes/languages/english/products_extra_category.php file is in there.

 

As noted, I added the missing line near the end. Still get the same errors, including in Admin in File Manager. Click on anything, like the "Up" icon to go up a level, and the error pops up. If I hit the back button, voila, the change has happened!

 

But still no controls over subcategory textboxes.

 

Any ideas where I should look next?

 

Bruce

Share this post


Link to post
Share on other sites

BINGO! Found my error, had the upload in the wrong directory. I had put it in includes/languages/english instead of admin/includes/.... Stared at it long enough to figure it out. Now to go back and get rid of the extraneous files.

 

I can now add the text to the subcategory textboxes! But still have the error in the Admin console, however. Any more ideas?

 

Bruce

Share this post


Link to post
Share on other sites

ALL IS WELL! Once I figured out that I was looking at the wrong directory, I went into the right one, found the whitespace that was offending, and deleted it.

 

All seems to be working just fine now, and your fantastic contribution and help is much appreciated.

 

Bruce

Share this post


Link to post
Share on other sites

Spoke too soon. I am able to add the text now, but find that when I go to Subcategory Textboxes in the Admin menu, the very first one is selected, and I am unable to select any of the others to edit or delete. The first one is always selected, and clicking on the "i" icon for other entries, the selection stays right where it was. I can work this through brute force I think, by either getting it right or deleting the first one sequentially till I get down to the one I need. It would still be nice to get things working properly.

 

I checked other catalog menu items and am able to select them just fine.

 

Bruce

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×