It's the right file.
Q1. Where in the code are you placing your additions?
Q2. Have you verified that the check for the customerID is matching? (I suggest changing
if (strstr($_SESSION['customers_id'],'3739')){
to
if (!strstr($_SESSION['customers_id'],'3739')){
.... This will/should cause the *opposite* to what you want... In other words if the code is working it will disable COD for everyone except customer with the id '3739'
This will verify that the toggle/switch itself is working, which in turn means there is something not working with your customerID check.
Cheers
RodG
Last edited by RodG; 15 Jun 2014 at 04:48 PM.
Perhaps I did not quite clearly explained my story.
I want to all have the ability to choose for COD.
However, I want to disable it for one customer with id specified.
In answer to your question, I place it in the next place in my file:
// $this->enabled = ((MODULE_PAYMENT_COD_STATUS == 'True') ? true : false);
// only show COD if Store Pickup
if (strstr($_SESSION['shipping']['id'],'storepickup')){
$this->enabled = ((MODULE_PAYMENT_COD_STATUS == 'True') ? true : false);
}
if (strstr($_SESSION['shipping']['id'],'freeshipper')){
$this->enabled = ((MODULE_PAYMENT_COD_STATUS == 'True') ? true : false);
}
Line 23 - 30 in my file. After this i place my code.
Question 2:
I have verify my customer_id because i use my test-account in the store.
I see that I have called the wrong file.
It is not the COD, but it is the moneyorder.php.
My mistake, but when I use the following code:
With the ! than the option is not showing at allCode:if (!strstr($_SESSION['customers_id'],'3739')){ $this->enabled = ((MODULE_PAYMENT_MONEYORDER_STATUS == 'False') ? true : false); }
I believe that you have us all confused with what you are now trying to achieve and/or where you are headed.
You've told us that you wish to disable the COD module for one customer only, and then you tell us that you've been changing the wrong file and that you are now editing the moneyorder.php file because the cod.php file was a 'mistake'.
And finally you tell us the "the" option isn't showing at all, without any clue as to whether you are still referring to the COD option of the moneyorder option.
The cod.php file controls the COD options.
The moneyorder.php file controls the Money Order options.
Either one of these files will not affect the options provided by the other (which is what you are implying is happening).
What the "!" does is "reverse" the results of any given test or comparison, So
if (!strstr($_SESSION['customers_id'],'3739')){
Do Something
}
Is stating: if customerID *isn't* '3739' then run the code "Do Something"
and
if (strstr($_SESSION['customers_id'],'3739')){
Do Something
}
Is stating: If customerID *iS* '3739' then run the code "Do Something"
This means that you'll need to either set the $this->enabled to either 'true' or 'false' (in the "do something" area, depending on your needs).
The code that reads like
$this->enabled = ((MODULE_PAYMENT_XXXXX_STATUS == 'false') ? true : false);
is stating: If the STATUS is set to "false" then set it to "true", otherwise set it to "false".
If you change this to
$this->enabled = ((MODULE_PAYMENT_XXXXX_STATUS == 'false') ? false : true);
is stating: If the STATUS is set to "false" then leave it "false", otherwise set it to "true".
If you change this to
$this->enabled = ((MODULE_PAYMENT_XXXXX_STATUS == 'true') ? false : true);
is stating: If the STATUS is set to "true" then set it to "false", otherwise set it to "true".
and finally:
$this->enabled = ((MODULE_PAYMENT_XXXXX_STATUS == 'true') ? true : false);
is stating: If the STATUS is set to "true" then leave it as "true", otherwise set it to "false".
I realise that this can all be a little confusing if you aren't familiar with the syntax, which is why I suggested that in your case, simply setting
$this->enabled = 'true' or $this->enabled = 'false' (depending on the results of your customerID check) would perhaps be a little easier to understand.
Cheers
RodG
Thanks for your detailed explanation.
I am indeed begun wrong with this topic.
Now I had my information in the first post to fit, but it will be even more confusing.
Maybe I should start a new topic for clarity?
I will briefly explain what I want to do anything to summarize.
I want to remove the moneyorder option for a customer.
In the beginning of the topic I started about cod, but I had the wrong translation for myself.
The change I would therefore run the file moneyorder.php
If I put the following code in my file:
The option for selecting "moneyorder" is not showing at all if i put (!strstr in the code.Code:if (strstr($_SESSION['customers_id'],'3739')){ $this->enabled = false; }
Without the !strstr the option is showing for everyone.
Including for customer 3739.
I hope that now have more clearly put down.
Problem for me also is the translation.
Last edited by mdo82; 17 Jun 2014 at 04:19 PM.