how to start?

Author Message

John Bett

Tuesday 11 August 2009 8:14:24 am

Hello
I'm a designer tasked with developing our website. The hosting staff has installed eZ 4.xx and with the ezwebin_design_blue theme. I have read the 4.xx docs but it is a lot to take in.

Our new design is significantly different then the look and feel of design_blue. The only thing they share is the horizontal main navigation and a left sub navigation area. The new site is large hundreds of pages with complicated HTML/CSS layouts.

I have a few questions about how to start.

1) Is it best to somehow modify the design_blue templates and CSS into our design?

1a) If I modify the design_blue should I edit the files in the package or create a design directory for overriding it.

1b) Is the /design/ezwebin_site directory the design directory I'm supposed to use for my site design?

Or

2) Should I try to start from scratch?

2a) How do I unhook the ezwebin_design_blue theme?

2b) Where do I create the new files?

Łukasz Serwatka

Wednesday 12 August 2009 2:06:45 am

John, hello and welcome to the eZ Publish Community!

To help you get started with eZ Publish, you might find the tutorial "Building an eZ Publish site" ( http://ez.no/products/ez_publish/documentation/building_an_ez_publish_site ) helpful. It covers the basic concepts of eZ Publish, such as how to work with templates, create custom classes and much more.

If you want to learn more about eZ Publish development (like creating new modules, extensions, or integrating with external applications) take a look at the developer documentation ( http://ez.no/products/ez_publish/documentation/development ).

The all-important technical and user manuals are available via the eZ Publish on-line documentation ( http://ez.no/doc ). You can also download off-line versions of eZ Publish documentation.

Also, the ez.no forums ( http://ez.no/community/forum ) are a valuable resource. A quick search ( http://ez.no/content/advancedsearch ) will answer many of your questions.

"eZ Publish basics" ( http://ez.no/products/books/ez_publish_basics )

This book is compatible with eZ Publish versions 3.5 to 3.8. It can be used as a self-study guide, as a textbook for the eZ Publish certification course, or as an aid for preparing for the eZ Publish web developer certification.

- The following topics are covered:
- Installation
- The architecture of eZ Publish
- Content management concepts
- Design-related issues
- Configuration
- Permissions
- The integrated Webshop
- The workflow system
- Templates and overrides
- Common tips and tricks
- Extension development

The book "Learning eZ Publish 3" ( http://ez.no/products/books/ez_publish_book ) will help you conquer eZ Publish and learn the skills to become an accomplished eZ Publish developer. At the end of the book, you will:

- Understand how eZ Publish handles, versions and publishes content to the web
- Be confident working in the eZ Publish administration area
- Know the secrets of the eZ Publish templating system for designing your own pages
- Have the skills to create new eZ Publish extensions
- See how real-world eZ Publish sites have been designed and implemented

We look forward to your participation in the community and to hearing about the sites you create.

Personal website -> http://serwatka.net
Blog (about eZ Publish) -> http://serwatka.net/blog

John Bett

Wednesday 12 August 2009 6:46:48 am

Hello Łukasz Serwatka

I'd like to thank you for your help and time provided me.

I've put a lot of time into understanding eZpublish. I've read the items listed below and still I have not had my a-ha moment with the software. I usually don't have a problem with web technology.

I have found many articles, tutorials and books describing eZpublish, but most refer to older versions of eZpublish. (eZpublish 3.x)

Can I assume then that most development techniques can be used in both 3.x and 4.x? Do the two versions of eZpublish have the same architecture?

Most of the articles and tutorials describe skinning or extending one of the installed designs/themes. Is this the best practice use of eZpublish 4? Is this how you start your web development projects?

Using an existing DOM modified with CSS and a handful of overridden templates to create a totally different website seems limiting and counter intuitive.

"Building an eZ Publish site" ( http://ez.no/products/ez_publish/...entation/building_an_ez_publish_site )
all-important technical eZ Publish on-line documentation ( http://ez.no/doc )
"eZ Publish basics" ( http://ez.no/products/books/ez_publish_basics )
Learning eZ Publish 3" ( http://ez.no/products/books/ez_publish_book )
Managing eZ Publish 3" ( http://ez.no/products/books/ez_publish_book
http://ez.no/developer/articles/how_to_configure_an_ez_publish_site
http://ez.no/developer/articles/how_to_skin_an_ez_publish_now_site
http://ez.no/developer/articles/an_introduction_to_ez_publish_concepts

Gaetano Giunta

Wednesday 12 August 2009 10:12:39 am

The architecture of eZ Publish version 3 and 4 is exactly the same. A few new features where added with time, and very few significantly changed (eg. the clustering mode, autoloads).

The recommended way to create a design of your own is to package it into an extension:
- create dir extension/myextension
- in it, create folders design/mydesign and settings
- in settings, create a file design;ini.append.php where you declare your extension to provdie design elements

<?php /*
[ExtensionSettings]
DesignExtensions[]=myextension

- alter ths iste.ini.append.php file for your siteaccess and dec lare mydesign as 1st design, and the current design as 2nd

And you're ready to go. Form here on you can alter existing js, css and tpl, by creating a new file with the same name+path of the original one but located in your new design dir, or add new ones.

As for starting from scratch vs. altering existing designs: a recurring questions on the forums. There's no clear-cut answer: it boils down on how much time you have for your site and how customised the look will be. For a big media site start from scratch, for a small blog start by altering the existing one.

Take into account that in eZP you will always be using many, many templates to build a single html page, and some of those will be coming from different designs anyway.

Principal Consultant International Business
Member of the Community Project Board

John Bett

Wednesday 12 August 2009 3:16:22 pm

Hello Gaetano Giunta

This is great news! I'm excited to move forward confidant that what I implement will work in 4.x. I was able to successfully create my design extension.

The only thing I'd note is that I needed to activate my design extension. Using the ActiveExtensions, under extensionSettings.

Thank you for your help!

Jozef Baum

Wednesday 19 August 2009 4:58:23 pm

"I've put a lot of time into understanding eZpublish. I've read the items listed below and still I have not had my a-ha moment with the software. I usually don't have a problem with web technology." - John Bett

Don't worry, John. As opposed to other web technologies, the lack of a "a-ha moment" with eZ Publish is typical for this software. It is due to the very poor documentation.

cubby cub

Monday 24 August 2009 4:38:41 am

i was about to scrap this project entirely. i started with a fresh install of ezflow which was a bad idea. then i did a fresh install of ezpub.

being self-taught and having operated websites since 2001, i am by no means a novice but i am far from an expert. i will say that with enough time, i usually can figure out a script . this one however...WOW! it's giving me a migraine and it's over the simplest things.

look, i wouldn't mind paying for a manual or training or whatever IF i felt confident that it wouldn't be a waste of money. unfortunately, the free manuals are so inept and sparce that i think the average person would give up on ez publish and seek out a more user-friendly interface.

by dumbing-down the FAQ/manuals, i think you will dramatically decrease the frustration curve associated with this script. and the EASIEST way to do that is to clearly demo how to create a template. you don't do that by telling people how to create it from scratch and that's what the manual currently does.

<b>MODIFY or START FRESH</b>
"Is it best to somehow modify the design_blue templates and CSS into our design?"

my suggestion for people who are new to any script would be to modify one of the existing templates. first back-up all of the files associated with the template and save it locally. easy to do if you're ftping. if you're editing from the admin panel, copy the content and save it locally before you edit. this way, whatever changes you make can be undone.

modifying the existing template will help you deconstruct a script template-wise. you can visually see how changing this/that impacts the design and effects the script.

the problem with this script is that the file structure sucks. there are about 1000 tpl files. to my knowledge, there's no guide/directive telling you where to locate these files or helping you understand what's in the file so that you're able to easily locate and modify to suit your needs.

<b>THE FILE STRUCTURE</b>
so let's say that i'm a person who prefers to use ftp to alter files. to even begin editing the template i have to navigate through the following folders...
/public_html/my_ez_publish_directory/extension/ezwebin/design/ezwebin/templates/

<b>THIS IS INSANE!</b> on top of that, you have how many CSS files in how many different locations? again, <b>INSANE!</b>

so my first impression would be, this is awful! this is the most horribly designed script (structurally) that i have ever encountered. and if you're not diligent, it's so easy to justify giving up.

now, after having played around with it for a day or two, the file structure is still asinine but i have a general idea of where to go and what to look for. i would however suggest that someone(s) who is more familiar with the script begin a FAQ for the most novice of users. A REAL FAQ, the one's i see with good scripts, would look something like this...

<b>PRIMARY TPLs</b>
/public_html/my_ez_publish_directory/extension/ezwebin/design/ezwebin/templates/

normally, with html based sites, you have to generate a new html file for each page of your website. this means that you have to constantly reproduce static content over and over again.

for example, if you have a copyright notice at the bottom of every page, you have to put this copyright notice at the bottom of every html file. this is time consuming. also, what happens if you need to change the copyright? if you have 1000 html files, each with a copyright notice, you have to change 1000 files!

.tpl files allow you to store content in small, individual files so that you may call specific content whenever and wherever needed. so in the case of our copyright notice, we might have a tpl file called copyright.tpl. we can then call copyright.tpl whenever we need it. and if we ever need to make changes to our copyright, we only need edit copyright.tpl. once it's edited, the changes take effect site-wide.

<b>PAGELAYOUT.TPL</b>
/public_html/my_ez_publish_directory/extension/ezwebin/design/ezwebin/templates/pagelayout.tpl

This file contains the main structure of your site. Your < head > < title> < body > tags are included here.

it also includes the main areas of your site - header, footer, main body, left/right columns.

you can change the orientation of these elements in the pagelayout.tpl file but keep in mind, their orientation also depends on any class designations in your css file.

<b>PAGE_LEFTMENU.TPL</b>
/public_html/my_ez_publish_directory/extension/ezwebin/design/ezwebin/templates/page_leftmenu.tpl

This file contains all content for the left column/menu.

----

the guide could go on in this manner. explaining commonly edited tpl files. it could also explain how to create new tpls (like if you want a new column) and how to include them.

----

<b>EXISTING TEMPLATES</b>
/public_html/my_ez_publish_directory/var/storage/packages/eZ-systems

<b>CSS</b>
You can determine the location of your css files by looking at your ez publish site's source code. In general, the files are located here...

/my_ez_publish_directory/extension/ezwebin/design/ezwebin/stylesheets/core.css
/my_ez_publish_directory/extension/ezwebin/design/ezwebin/stylesheets/pagelayout.css
/my_ez_publish_directory/extension/ezwebin/design/ezwebin/stylesheets/content.css
/my_ez_publish_directory/var/storage/packages/eZ-systems/my_chosen_theme/files/default/file/classes-colors.css

Some classes appear in multiple files so when making changes, you will need may need to search and review the content in multiple files.

----

my point is, this should be basic and unless i'm missing it, this article - http://ez.no/doc/ez_publish/technical_manual/4_x/templates does a POOR job explaining how to edit/design a template. it's written with the assumption that the people who will be using this script are savvy developers. when in reality, most folks have probably migrated here after using other open source scripts...joomla, wordpress, drupal for example. when you consider the alternatives, ez_publish fails not because of quality but because no one is trying to truly help you use it.

i mean i asked a simple question about how to change the default email address and i got a response about executing a shell command. <b>ALL I WANTED TO DO WAS CHANGE THE EMAIL!</b> i dont understand how apparently people on this forum don't understand how unwelcoming this script/forum is to new users.

Aang: Just like the legend says, we let love lead the way.

Seth Gottlieb

Friday 18 September 2009 12:44:46 pm

I followed the instructions for the design extension but eZ Publish does not seem to be reading my override.ini.append.php.

I have:

[full_slp_product]
Source=node/view/full.tpl
MatchFile=slp_product.tpl
Subdir=templates
Match[class_identifier]=slp_product

Template file is /extension/myextension/design/override/templates/slp_product.tpl

The content class is slp_product.

eZ Publish *is* using the pagelayout.tpl from my design extension.

Am I missing something?

Thanks,

Seth

Greg McAvoy-Jensen

Friday 18 September 2009 12:57:18 pm

Seth,

Be sure to clear the cache after you edit override.ini.append.php--even if you have caching disabled on your development installation.

Granite Horizon, Certified Developer of eZ Publish Web Solutions
Provider of the SaaS Solution Granite Horizon In The Cloud | http://granitehorizon.com/cloud
http://granitehorizon.com | +1 916 647 6350 | California USA | @granitegreg
Blog: http://granitehorizon.com/blog

Seth Gottlieb

Friday 18 September 2009 2:22:54 pm

Thanks Greg. I did that. Anything else?

André R.

Friday 18 September 2009 3:29:27 pm

Example from ezflow:
extension/ezflow/design/ezflow/override/templates/full/frontpage.tpl

[full_frontpage]
Source=node/view/full.tpl
MatchFile=full/frontpage.tpl
Subdir=templates
Match[class_identifier]=frontpage

If your path is correct, then it looks like you might forgot the design name in the path (4th part).

Might helpful: http://ez.no/developer/forum/setup_design/multiple_siteaccess_design_solution#msg192299

eZ Online Editor 5: http://projects.ez.no/ezoe || eZJSCore (Ajax): http://projects.ez.no/ezjscore || eZ Publish EE http://ez.no/eZPublish/eZ-Publish-Enterprise-Subscription
@: http://twitter.com/andrerom

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.