Prestashop - blockuserinfo position & translation - smarty

I have an issue with blockuserinfo module. It displays in place which is not the best according to the layout. So i wanted to move it to different place. SO i did following thing - from blockuserinfo.tpl I copied element:
{if $logged}
<span>{$cookie->customer_firstname} {$cookie->customer_lastname}</span>
{l s='Log out' mod='blockuserinfo'}
{else}
{l s='Log in' mod='blockuserinfo'}
{/if}
and pasted into header.tpl to the place I wanted to have it. It appears and works BUT there is huge problem with translation - after pasting it into header.tpl data from blockuserinfo changed into english and I cannot change the language of those texts (even after switching the lang). In admin panel > module translation there is MISSING variable for login and logout under blockuserinfo.
How to repare it?

Translations in PS for module is working according to the module name. Like if you check your code, you will have static strings like
{l s='View my customer account' mod='blockuserinfo'}
The mod='blockuserinfo' says to the PS translation system to get the translation for that module line. So what you need to do is to remove parts of mod='blockuserinfo' from all the texts you have in the copied code at header.tpl file. Please note that all texts should be like
{l s='View my customer account'}
After that go to admin panel, and then translation section and then go to front end translation. Find header.tpl section and enter the translations again for the texts you need.
Again note that if you move a text from a file or a module, then its translation will not work, because, while fetching the translated text, PS looks to the translations according to the file name, or module name.
Hopefully this will help you.
Thank you

Related

Magento: change link from cart

I have Magento 1.7 installed, I have this theme called ves_gift, at the end of the Checkout (before clicking "checkout" actually) I have the terms of agreement:
The checkbox contains a link connected to the "privacy terms".
The point is that is a wrong/broken link, and I need to change its href, how do I fix it?
Also the word "Aaccetto" should be with one A only, not double. "Accetto" is the right word. Where is the translation file for that?
You need to find the template where the HTML contents of the checkbox. Then you can modify as per your wish.
Try installing Magento-Debug from magentocommerce, and find the template being used.
If you want to translate, then use the CSV file for translation in your theme, as per your language rather than hard-coding in Phtml files.
Remmeber : only Html strings echoed with $this->__('MYSAMPLETEXT'); can only be translated. So, in the CSV file you could do
MYSAMPLETEXT,MYTRANSLATEDTEXT
and then magento will translate the string for you, as simple as that.
file path:-
app\design\frontend\default\your-theme\template\checkout\onepage\agreements.phtml
if its work vote for me, and not let me know...
Thanks
Ravi

trying to find a file to edit the div information

So we have a section on our website (category menu) which was modified to include a custom menu system. in the file top.phtml i found the following code
<div >
<?php //echo $_menu;
echo $nf_menu;
?>
</div>
The code inside the div's is calling for the menu, but i need to edit the actual code of the menu as it has inline styles for z-index applied to it and i need to adjust the z-index number.
Where would i find this menu. does that php code indicate where the file may be? Our coder is gone so we are not sure how they did this.
Based on the very limited information you've provided, there are basic ways of finding out where specific code is being generated in Magento (or any other scripting/php based framework).
View the html source (output) of your menu in a browser and find a piece of the menu HTML that would be unique. An example can be a unique class name or something that will set it apart from everything else.
<ul class="nf-menu">
<li>...
Do a site-wide file search for the unique reference you found in step 1. For example, search for <ul class="nf-menu"> or just nf-menu.
Don't know how to search for text in a file? Use the resources you have available to learn how:
For Linux based machines, see Finding all files containing a text string on Linux
Or if you have the files locally, use an IDE program such as phpStorm or Dreamweaver that includes a folder search for files containing a string of text.
Once you've found the file generating the code, simply make the modifications. I'd recommend making a backup of any file you modify so that you can revert to it if you're changes don't work as intended.

Is it possible to change text directly in the code

I would like to know if there is a way to change text in the code instead of using the admin panel? I have Filezilla installed and can access my site/files from there.
If I use the inspect element in any browser, I can see an HTML structure, but as I have understood there is no HTML document in Magento, right? So where do I go if I want to make a change to a text element on my site and I don't want to use the admin panel?
Most of the text elements are handled by Magento's language translation system.
Quite often, you don't have to mess around hacking templates, just simply add a line to the translation CSV with the text string exactly as it appears, add a comma and then the new text string you want Magento to display.
For example, if you're working with US English, you can use the following file in your own custom template package as follows:
app/design/frontend/default/your_package/locale/en_US/translate.csv
Let's for example, change one of the window shade bar titles in the One Page Shopping Cart. Add a line to translate.csv as follows:
"Billing Information","Billing Address Information"
How this works, in the template the following line normally displays the title:
<?php echo $this->__('Billing Address') ?>
This code snippet $this->__('Billing Address') is a call to Magento's language translation system. It reads the translate.csv file finds Billing Address and changes it to Billing Address Information when it assembles the page html.
Lotta people out there have made changing text like this far harder than it has to be.
Hunting down the proper template, changing the text, finding the template got messed up, or trying to remember after the fact what was changed.
VS.
Changing a simple central file that contains all the text string translations... Often only by adding a new line to the file
Magento actually makes this very simple.
Thank you! So magento stores all text in .csv? or just the stuff that needs to be translated? I'm making a search for .csv via Filezilla but I only get two languages (the site is translated to multiple languages). Should I be looking somewhere else?

How to change HTML of "Shipping & Handling" line on cart page

In the shopping cart page of my magento store, there is a line item for Shipping & Handling. I am trying to change the HTML output of this line. I have figured out how to change the actual text "Shipping & Handling - Method" , but I would like to change the actual HTML output. I looked through all of my theme files and could not figure out where to access this. I simply need to add a CSS class for that line so I can style it. Any ideas?
Thank you.
An easier solution to take if you are not a developer is to update the translation of that line of text in your translation file /app/locale/en_US/Mage_Checkout.csv if it isn't already in there just add a line at the end. The first part is what the text currently is and the second is what you want it to read.
tread lightly, it effects that line of text anywhere on your site.
If you just need to style some text add the html of that section and I can help you with a selector.
The file you are looking for is app/code/core/Mage/Sales/Model/Quote/Address/Total/Shipping.php you will
$title = Mage::helper('sales')->__('Shipping & Handling');
Under fetch(Mage_Sales_Model_Quote_Address $address) function and around 20th line. There you can change but editing magento core file is not recommended. So you have two solutions
Copy Shipping.php file in to local code pool and edit there
This is the best way create your own module for override Shipping.php file by extending Mage_Sales_Model_Quote_Address_Total_Shipping class you can find a tutorial of creating module at steve perrys' blog

How to locate a block that is used by Magento, but isn't displayed in the admin panel?

I've inherited a Magento shop site, and the previous developer has gone AWOL. So I'm left with a sheet of paper essentially telling me how to do basic things such as changing the banner on the home page. That's pretty much it.
The person who owns the page now wants to change an advert that's held on the right hand side on the product pages. I've searched in the Admin panel under CMS and drawn a blank. I've navigated through the template files and I've found the 3 column HTML file that I thought contains the actual advert.
It doesn't. Instead, it has the following code:
<div class="col-right sidebar"><?php echo $this->getChildHtml('right') ?></div>
Where can I find the Child HTML? I've searched all of the folders for the file that I'm assuming is called "Right". But I can't seem to find it.
Anyone know where something like this could or would be held?
That is the absolute most root function, anything that is placed in the child "right" will be displayed here and is most certainly not where you want to be doing your editing.
There are literally a hundred different ways content could be posted here and what I would recommend to start with is first determining if it is a static block or a template file.
Go to System -> Configuration -> Developer.
Change "Current Configuration Scope:" to the store you are currently troubleshooting.
Find your IP and place it in "Allowed IPs (comma separated)", this way the next steps will only be visible to you.
Under the "Debug" section you should now see "Template Path Hints" enable this and reload the page.
If that block now has something like: "app/design/base/default/catalog/product/view.phtml" you know it is in a phtml file and you can go there. If it doesn't:
It could be a banner, go to CMS -> Banners and check there.
It could be a static block, go to CMS -> Static Blocks
It could be...any number of things.
You stated that it is on the product page, next step is check catalog.xml in your layout folders. Search for and see if anything inside of there makes sense about what it could be. If the previous developer was any kind of proficient it won't be in catalog.xml but in local.xml OR a custom module's .xml file in the layout directory of the custom theme.
Try doing a search on the code base for the content inside of the block and see if anything pops up. If nothing, use phpmyadmin to search the database for some of the content.
Hope this helps a little.
Search for:
<reference name="right">

Resources