Magento - Customizing a page? - php

I just started using Magento, and to me, it seems like a big mess in there...
I'm looking to edit my home page that I got from a template. It looks great but I took out a bunch of useless static blocks inside of it and now I have wholes everywhere. Check the link:
http://goo.gl/v5uTx
What I don't seem to find is where is my actual page structure? I went into the admin and just found this for my home page:
<p>
{{widget type="flexiblewidget/list" column_count="3" limit_count="9"
if="em_feature_product=1" header="Favorite products" order_by="name asc"
template="flexiblewidget/featured.phtml"}}
</p>
Which is basically a tiny part of the page.
So the question is, where can I find the rest of my page content and structure (ie the slideshow, the top offers, ...) so that I can try to re-organise it to look like a website and not cheese?
Thanks.

Magento is different than most other CMS solutions. You may be used to seeing the raw HTML in the CMS page, or at least a good portion of it. However, Magento uses PHP to render blocks onto the page. It gets it's instructions from XML documents inside of your theme. If this is your first time working with Magento, it may be good to check out this post before you get too frustrated. It will walk you through some basics.
Most likely, the HTML for your slider and top offers are in files inside of your theme directory. Your theme directory will be at app/design/frontend/PACKAGE/THEME/ - your php and html will be in the template folder, and the XML instructions will be in the layout folder. The home page, like many other pages on your site are using a main template to load site-wide HTML and CSS. There are 4 of these main templates by default: 1 column, 2 columns with left sidebar, 2 columns with right sidebar, and 3 columns. These main templates can be found in the templates folder under the "page" directory. If you open one of these templates, you will find a line that looks like this:
<?php echo $this->getChildHtml('content') ?>
This line is asking the XML instructions for anything under the block named "content". That is most likely where the slider is being assigned. You will have to find the XML file this is being defined in. You may want to familiarize yourself with the layout folder and Magento's fallback hierarchy. Check out this post.
Hopefully this will help you out with the issues you're having with your page!

Related

WordPress HTML code, help to find

Creating web-site on WordPress, and got problem with finding HTML code of current part.
Web site here
Need to change Services titles and descriptions, but can find this part of code on FTP server. Is it possible to find it? Here the structure of ftp
i supose it must be in index.php, or index-servise.php, i was cheking this files(and all other) there is only functional part of this blocks. Can anybody help me to find this HTML code?
The <head> tag of your page is located in the header.php file of the current theme you are using. Your theme files are located inside the /wp-content/themes/. You can edit there. To see which theme you are using, access your WP-ADMIN and navigate to Appearence > Themes.
The Services seem to be generated as Widgets, so you should find them in Appearence > Widgets. These are stored in the MySQL database and are not hardcoded in HTML.

How do I use an Inspector to find the HTML in a theme's PHP files?

I'm working on a Wordpress website for someone and I have a question. I used an inspector (firebug) to check out the html of my site but I need to know where to find that bit of code in the Wordpress theme (Spacing) php files. There's no search all feature and going through all of them separately is ridiculous.
I really appreciate any help you can offer!!
I found an article on it (https://wordpress.org/support/topic/search-through-php-files) but there really wasn't a solution. If I can find what I'm looking for in the HTML (it's a menu name by the way), why can't I go find it in the theme files??
I don't know if this matters but the HTML is a body class to a couple of div classes to a ul id to li id to an a class.
WP does not contain ant HTML page. Everything in WordPress php file. If your page is created in page section you have to check in page.php file in /wp-content/themes/{your theme name}/page.php or if your page is posts you to check in post.php
What you want to change in WordPress site ?
If you go into the back-end/admin section and click "Pages". Find the page you are working on and click edit. In the "Page Attributes" you can see what "Template" it is using.
Then you can find that template in /wp-content/themes/yourtheme/
EDIT: More than likely the header and navigation is located in the "header.php" file in the themes folder.

How to make WordPress pages where only certain (multiple) areas of content are editable

It has been a few years since I properly worked with WordPress. Now I have a proposal to build a WordPress site where every page has a custom design and only some areas of each page is editable.
The reason for this is to build a bespoke layout on each page which cannot be messed up by someone non-technical editing it in the CMS, except for small areas which they can customise.
e.g. A page contains one div which has some text in it, which can be edited in the WP admin backend, but the rest of the page cannot be edited.
Can this be done? How?
Edit: There needs to be multiple editable areas not just one. I know how to make custom pages/templates.
One method may be to create new page templates. Just create a new file in your main theme folder (or the templates folder if there is one). As long at the top of that file contains the line:
/*
Template Name: <your template name>
*/
You can design the page however you want. The data pulled from the admin section will go wherever you invoke
the_content();
The rest of the page can be hardcoded.
Then on the post edit page, on the right side (usually), you can choose the template with your template name for that page. It may be a good idea to copy the current post.php or single.php into your custom file and work from there.
For restricting access you can look at setting up user levels and keep your content contributors as "Authors" instead of "admins" so they can't change themes or edit settings.
(See https://codex.wordpress.org/User_Levels)
For creating specific unique pages with an area that gets changed you should look into custom Page Templates. You can create a page template by dropping a php file with the right naming structure into your theme hierarchy and it will get picked up by the back-end as template option when you create a page.
(See https://developer.wordpress.org/themes/template-files-section/page-template-files/page-templates/)
I solved this problem using a plugin called Advanced Custom Fields which does exactly what I required.

Adding/Importing a ready coded (AboutUs) page into Joomla

I am busy converting a HTML website into a Joomla temaplate, I got some help doing the home page (index.php), but now the menu items are not linking anywhere. I have a ready coded AboutUs.php page, which I want to important into Joomla and link to the 'About Us' menu item.
Can this be done in the similar way as it is done with the index.php file? Can I maybe upload the file via FTP and link it somehow in Joomla?
Any help on this would be much appreciated.
No it's not how joomla works.
You have to create the second menu item, link it with your content and add the extra modules that your "about us" page have.
If you don't want to do it like that you could create a new template and link each menu to different template but it's not a good approach.
If you are interested about the html part of the php site,
you can just create an article and paste html code in it (do not forget to set the editor in text mode).
If you have css, you may add it int the template's css file.
Otherwise, if you need php functionality, you need to create a joomla component.
If your going to migrate a site and use a tool like joomla i strongly suggest using it the way it was designed to be used. Otherwise theres no point.
When creating from scratch or migrating a site to joomla i would suggest firstly creating (or modifying) one or more templates to get the layout of you site; header, footer, logo, background, modules (eg. menu, login, etc) and component to load and so on.
You will have to recreate the menu items using the menu manager and apply your css to the menu module(you can download free menu modules or use the default one or develop one).
When creating a menu item you can select the template to be used and also what component you want to load (article, sitemap, blog, login, create user, etc...). An article is used to store html content which can be edited through the content manager although there are simple ways to add scripts to your articles.
If you want to add php to your content you have 4 choices.
Template (used to show content which appears on every page; this is where the html starts and ends and where the component and modules' positions are defined),
Component (this is loaded from the template depending on what menu item is selected),
Module (a very simple and easy way to add custom php and html code, can be loaded from the template or from components like in a joomla article),
Plugin (used when wanting to run scripts which dont have any visual content)

How to access files on Joomla?

I am in a critical condition. I was paying a developer in India who left the project but now I need to access the php pages.
I have explored the joomla site using the admin login but i can't find how he is displaying the html/php pages.
Please help!
I assume you're looking for the front-end template for the website.
Using FTP or whatever control panel go to the Joomla folder, look for a folder called templates - it should be one of the folders in there.
To check what the name of the current template is, go to the admin panel and look in the template menu.
If your developer has also made any custom components, the front-end part would be somewhere in the components folder, and the backend bit would be in administrator->components.
You need to read some Joomla tutorials. There are many places that can be used to "display the html/php".
First you have the template files that determine how the site looks and what module positions are available to be used. Generally there is one template in use but there can be multiples.
Next you will have components where the content is entered. At a minimum it is likely that you are using the com_content (articles/categories) and it is very likely there are others being used.
You will also have various modules that will display content in areas outside of the main content area. This will generally include menus, login forms, and other similar content.
Last, plugins can also have an effect on the content. In some cases plugins inject content and in others they replace placeholders with content.
There are a lot of pieces to the puzzle that all come together to display the resulting web page, it's not just a simple question of accessing some files.

Categories