Jump to content
alenkij

Imprint Text Options

Recommended Posts

Thanks Jack, sorry what I wanted to ask is a multi-line TextArea vs. a TextField possible? It displays a text field, so can I convert one text field to a text area?

 

Kind regards,

Eric_K

Share this post


Link to post
Share on other sites

You would have to edit the code to load and handle the textarea. It could be done. But what is it you are needing it for? There is already a comment box for an order. Couldn't the customer use it? I can't imagine needing a textarea for every product, although I'm sure you have a reason.

 

Jack

Share this post


Link to post
Share on other sites

A new version has been uploaded. It fixes the code in the following files:

 

admin/invoice.php

admin/packing_slip.php

checkout_process.php

account_history_info.php

 

This allows the attributes to be displayed properly in the invoice, packing_slip and account history pages. The changes to checkout_process cause them to be added to the order email correctly.

 

Jack

Share this post


Link to post
Share on other sites

Must learn to read.. :-)

 

About: you can have a lot of text options, to be assigned with product, and
set different options enabled for different products, using checkboxes, when
add/edit product.

 

I have set up the text boxes available in the admin area and associated 3 of them to the product.

 

When adding the product to the cart no option to populate the fields is allowed, indeed the titles and boxes do not show.

 

On the "Whats in the cart" page the attribute values and text box titles are listed and on clicking continue shopping the product info screen is shown.

 

Now the text boxes are maintainable.

 

Believe it should allow the text boxes to be editable on first pass through.

 

G


Need help installing add ons/contributions, cleaning a hacked site or a bespoke development, check my profile

 

Virus Threat Scanner

My Contributions

Basic install answers.

Click here for Contributions / Add Ons.

UK your site.

Site Move.

Basic design info.

 

For links mentioned in old answers that are no longer here follow this link Useful Threads.

 

If this post was useful, click the Like This button over there ======>>>>>.

Share this post


Link to post
Share on other sites

Are you saying that the first time you go to a product page in the shop that you can't enter text in one of the boxes? If so, I can do that on mine so I can only think it is some installation error on your shop. Maybe try installing it into a clean shop to make sure it works and then compare your files.

 

Jack

Share this post


Link to post
Share on other sites
Are you saying that the first time you go to a product page in the shop that you can't enter text in one of the boxes? If so, I can do that on mine so I can only think it is some installation error on your shop. Maybe try installing it into a clean shop to make sure it works and then compare your files.

 

Jack

 

I thought of that and replaced my product info.php

 

The sql checks for the text being there with the correct ocsid. When the product is first displayed I do not believe there is a "matching" record.

 

<!-- denuz products text attributes -->

  <tr>
	<td>

<?php
 $text_attributes_query = tep_db_query("select pta.*, cbta.products_text_attributes_text from products_text_attributes as pta, products_text_attributes_enabled as ptae, customers_basket_text_attributes as cbta where ptae.products_text_attributes_id = pta.products_text_attributes_id and ptae.products_id = " . tep_get_prid($HTTP_GET_VARS['products_id']) . " and cbta.products_text_attributes_id = pta.products_text_attributes_id and cbta.session_id = '" . tep_session_id() . "'");
 while ($text_attributes = tep_db_fetch_array($text_attributes_query)) {
?>
<tr>
  <td class=main><?php echo $text_attributes['products_text_attributes_name'] . ': </td><td>' . tep_draw_input_field('products_text_attributes_' . $text_attributes['products_text_attributes_id'], tep_not_null($text_attributes['products_text_attributes_text']) ? $text_attributes['products_text_attributes_text'] : ''); ?></td>
</tr>
<?php
 }
?>

	</table></td>
  </tr>

<!-- eof denuz products text attributes -->

 

Confused of Wicklewood

 

G


Need help installing add ons/contributions, cleaning a hacked site or a bespoke development, check my profile

 

Virus Threat Scanner

My Contributions

Basic install answers.

Click here for Contributions / Add Ons.

UK your site.

Site Move.

Basic design info.

 

For links mentioned in old answers that are no longer here follow this link Useful Threads.

 

If this post was useful, click the Like This button over there ======>>>>>.

Share this post


Link to post
Share on other sites

That code was changed with the latest version, 1_3_4. Is that the one you are using?

 

Jack

Share this post


Link to post
Share on other sites
That code was changed with the latest version, 1_3_4. Is that the one you are using?

 

Jack

 

Just unzipped it again, do you have a copy of the new code?

 

G

 

<!-- denuz products text attributes -->

  <tr>
	<td>

<?php
 $text_attributes_query = tep_db_query("select pta.*, cbta.products_text_attributes_text from products_text_attributes as pta, products_text_attributes_enabled as ptae, customers_basket_text_attributes as cbta where ptae.products_text_attributes_id = pta.products_text_attributes_id and ptae.products_id = " . tep_get_prid($HTTP_GET_VARS['products_id']) . " and cbta.products_text_attributes_id = pta.products_text_attributes_id and cbta.session_id = '" . tep_session_id() . "'");
 while ($text_attributes = tep_db_fetch_array($text_attributes_query)) {
?>
<tr>
  <td class=main><?php echo $text_attributes['products_text_attributes_name'] . ': </td><td>' . tep_draw_input_field('products_text_attributes_' . $text_attributes['products_text_attributes_id'], tep_not_null($text_attributes['products_text_attributes_text']) ? $text_attributes['products_text_attributes_text'] : ''); ?></td>
</tr>
<?php
 }
?>

	</table></td>
  </tr>

<!-- eof denuz products text attributes -->


Need help installing add ons/contributions, cleaning a hacked site or a bespoke development, check my profile

 

Virus Threat Scanner

My Contributions

Basic install answers.

Click here for Contributions / Add Ons.

UK your site.

Site Move.

Basic design info.

 

For links mentioned in old answers that are no longer here follow this link Useful Threads.

 

If this post was useful, click the Like This button over there ======>>>>>.

Share this post


Link to post
Share on other sites

Uh oh! Looks like I made the change on my test setup but forgot to copy it to the new version package. The code in product_info.php should be

<!-- denuz products text attributes -->

  <tr>
	<td><table border="0" cellspacing="0" cellpadding="2">

<?php
 $text_attributes_query = tep_db_query("select pta.*, cbta.products_text_attributes_text from products_text_attributes as pta, products_text_attributes_enabled as ptae, customers_basket_text_attributes as cbta where ptae.products_text_attributes_id = pta.products_text_attributes_id and ptae.products_id = " . tep_get_prid($HTTP_GET_VARS['products_id']) . " and cbta.products_text_attributes_id = pta.products_text_attributes_id and cbta.session_id = '" . tep_session_id() . "'");
 if (tep_db_num_rows($text_attributes_query) == 0)  
$text_attributes_query = tep_db_query("select pta.* from products_text_attributes as pta, products_text_attributes_enabled as ptae where ptae.products_text_attributes_id = pta.products_text_attributes_id and ptae.products_id = " . tep_get_prid($HTTP_GET_VARS['products_id']));

 while ($text_attributes = tep_db_fetch_array($text_attributes_query)) {
?>
<tr>
  <td class=main><?php echo $text_attributes['products_text_attributes_name'] . ': </td><td>' . tep_draw_input_field('products_text_attributes_' . $text_attributes['products_text_attributes_id'], tep_not_null($text_attributes['products_text_attributes_text']) ? $text_attributes['products_text_attributes_text'] : ''); ?></td>
</tr>
<?php
}
?>

	</table></td>
  </tr>

<!-- eof denuz products text attributes -->

Please let me know if that works so I can get a revised version uploaded.

 

Jack

Share this post


Link to post
Share on other sites

Looks good, I'll wait for the new package and then reapply the changes to the "fixed" files.

 

Thanks

 

Geoffrey


Need help installing add ons/contributions, cleaning a hacked site or a bespoke development, check my profile

 

Virus Threat Scanner

My Contributions

Basic install answers.

Click here for Contributions / Add Ons.

UK your site.

Site Move.

Basic design info.

 

For links mentioned in old answers that are no longer here follow this link Useful Threads.

 

If this post was useful, click the Like This button over there ======>>>>>.

Share this post


Link to post
Share on other sites

I should have read this forum before modifying a ton of this module to try to get it to work. I'll go back and revert all my changes and put that check in for the 0 results set as posted by jack_mcs.

 

I'm actually using this contribution in a different way though. I'm making the field a hidden field so that I can commuincate a more complex attribute to the store. I'm also adding an id parameter to the input field. I've also added an additional column to specify if the text attribute is to be "hidden" or not and then change the drawing of the text field and other behavior based on that setting. So far, these have been done with manual database manipulation, but I don't think there is much call for that sort of thing by the masses. And I don't want to clutter up the contribution with my specific needs. That's just something else to test for people. ;)

Share this post


Link to post
Share on other sites

Just adding that I tested the change and that works for me.

 

I'm having a problem with it getting the session id though and storing the session record with a null value. There may have been a fix for that posted somewhere. So I'll try to hunt that down.

Share this post


Link to post
Share on other sites

I've uploaded a new version but it only contains the fix for the product_info file already mentioned here.

 

Jack

Share this post


Link to post
Share on other sites

Getting this error on products_info.php:

 

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'and cbta.products_text_attributes_id = pta.products_text_attributes_id and cbta.' at line 1

select pta.*, cbta.products_text_attributes_text from products_text_attributes as pta, products_text_attributes_enabled as ptae, customers_basket_text_attributes as cbta where ptae.products_text_attributes_id = pta.products_text_attributes_id and ptae.products_id = and cbta.products_text_attributes_id = pta.products_text_attributes_id and cbta.session_id = '21314dec25c99097b67e85f6f40ab39f'

[TEP STOP]

 

I am running mysql version: 5.1.30 and php version: 5.2.9

 

I have installed version 1.3.5 of this contribution.

 

Any help is appreciated!!!

Share this post


Link to post
Share on other sites

It's failing because of a missing ID. This part of the command

ptae.products_id = and

should have a number there. When you are on that page, does the url have products_id=some number in it?

 

Jack

Share this post


Link to post
Share on other sites
It's failing because of a missing ID. This part of the command
ptae.products_id = and

should have a number there. When you are on that page, does the url have products_id=some number in it?

 

Jack

 

 

Yes it does. I should say I am getting the error for products that do not have imprint attributes.

 

I was thinking it has more to do with the mysql version I am using. I have been looking into this thread http://forums.oscommerce.com/index.php?showtopic=144095 because the problem seems similar but none of the fixes there work.

Share this post


Link to post
Share on other sites

This contribution only uses what is already in the database. If you are having problems not related to it, then there is some larger problem which should be fixed first.

 

Jack

Share this post


Link to post
Share on other sites

For some reason, this code is never being executed in catalog/checkout_process.php:

 

// denuz text attr
$attr_q = tep_db_query("select * from customers_basket_text_attributes where session_id = '".tep_session_id($osCsid)."' and products_id = " . tep_get_prid($order->products[$i]['id']));
while ($attr = tep_db_fetch_array($attr_q)) {
   tep_db_query("insert into orders_text_attributes values ($insert_id, " . tep_get_prid($order->products[$i]['id']) . ", " . $attr['products_text_attributes_id'] . ", '" .  $attr['products_text_attributes_text'] . "')");
}
tep_db_query("delete from customers_basket_text_attributes where products_id = " . tep_get_prid($order->products[$i]['id']) . " and session_id = '" . tep_session_id($osCsid) . "'");
// eof denuz text attr

 

And looking through the code, I'm not really sure where/when that would be called either. This is really frustrating because I'm so close to being able to actually use this contribution.

Share this post


Link to post
Share on other sites

If it is not being reached, then you may have pasted it into the wrong location. But if it is being reached and not ran, it may be because the text attributes are not properly setup in admin.

 

Jack

Share this post


Link to post
Share on other sites

OK, loaded a fresh install on a test domain. Loaded and over wrote the files with the ones sopplied and ran the SQL

 

Now at the customer side I have http://client-demo.com/STORE/ (FATAL ERROR: register_globals is disabled in php.ini, please enable it!) Since non of the working stores have this problem I assume it's in the SQL I had to run?

 

On the admin side I see: 1146 - Table 'ribbonrail_edmark.TABLE_ADMINISTRATORS' doesn't exist

 

select id from TABLE_ADMINISTRATORS limit 1

 

[TEP STOP]

 

So, again, fresh install, no mods other then loading the pages with this ad-on.

 

Any idea what went wrong?

 

Dan

Share this post


Link to post
Share on other sites
you use version oscommerce rc2 or rc2a , and the imprint version isnt compatible with it ( if you overwrote original files)

 

You must install this contribution manualy.

 

OK, I'll give that a try.

 

Thanks,

 

Dan

Share this post


Link to post
Share on other sites
For some reason, this code is never being executed in catalog/checkout_process.php:

 

// denuz text attr
$attr_q = tep_db_query("select * from customers_basket_text_attributes where session_id = '".tep_session_id($osCsid)."' and products_id = " . tep_get_prid($order->products[$i]['id']));
while ($attr = tep_db_fetch_array($attr_q)) {
   tep_db_query("insert into orders_text_attributes values ($insert_id, " . tep_get_prid($order->products[$i]['id']) . ", " . $attr['products_text_attributes_id'] . ", '" .  $attr['products_text_attributes_text'] . "')");
}
tep_db_query("delete from customers_basket_text_attributes where products_id = " . tep_get_prid($order->products[$i]['id']) . " and session_id = '" . tep_session_id($osCsid) . "'");
// eof denuz text attr

 

And looking through the code, I'm not really sure where/when that would be called either. This is really frustrating because I'm so close to being able to actually use this contribution.

 

 

I'm having this same issue. I've double checked all my files. The data is being recoreded into the database (searched through phpmyadmin) but isn't reaching any final orders (email, admin orders, invoice, packing slip).

 

Any help??

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

×