How to create a simple menu?

Store UI, layout, design, look and feel; Discussion on the customer facing pages of your online store. Cascading Style Sheets, Themes, Scriptlets, NVelocity and the components in the ConLib directory.
Post Reply
RKS_213
Lieutenant (LT)
Lieutenant (LT)
Posts: 69
Joined: Mon Dec 26, 2011 2:48 pm

How to create a simple menu?

Post by RKS_213 » Thu Dec 29, 2011 3:08 pm

Okay, I'm going to tell you what I'm used to so you can get an idea of the simplicity I've been using for a very long time. After you understand that, it might be easier to understand what I want and how to tell me the Able way of doing it.

When I use my normal shopping cart solution, it has built in functionality to create pages, menus, content, products, etc. I see that functionality with products here in Able. I also understand that to change the Front page I change the Home Page in the content/layout section.

What I don't get, is how to create normal, non-product pages, menus, and how Able is linking pages to one another. For example, I already have the hundreds of categories and products I need loaded into Able. So if I want to provide this list of categories to users, where/what/how do I insert anywhere to show this list to a user?

Now, if I want to place this list in different areas of my site or on the home page, what am I supposed to do? normally, I'm used to clicking a button stating "Create Page" and boom, a non-product page is created with a fancy URL and everything. Let's say I wanted to call this page, "MyPage." How do I create a basic non-product page in Able cart, called "MyPage" with it's own URL?

After I'm done taking five secs to create this page, I click another button labeled "Menus" where it takes me to a list of all the menus I've created on my site. I now can click "Create a Menu" and have the option to start writing in link titles and the URL where the link points. So if I wanted to add this new page to a menu, I do so. Easy. Everywhere that menu is displayed on the site, it now includes that link. What's more, I just find the area I want to put my menu and assign the menu to that location.

The only way I can think of adding menus in Able is the old fashioned way of writing it out in an ul as a li. That means, if I want these menus to appear in different locations all around my site, I have to manually go in and add a new li everywhere? That doesn't make any sense to me. These things are supposed to be progressing and getting better. Without a built in functionality for creating menus, I would settle for a snippet I could insert in the various areas of my site like [[insert Menu1]] and then it will render that menu there. But then i have to know where to create this menu on my end so Able can find it when I insert the snippet.

Lastly, where are search blocks located? If I want to include a search block on my site, what am I writing in the header or wherever? Are there any tagging features of Able? I.e. can I sort anything based on tags? Or go directly to pages if I search a part number and it matches a product? Or will it just return a results page with the most likely being on top?

Thanks. I'm not really flaming Able, but it really seems like this is the most unintuitive cart I've ever seen. On top of that it doesn't appear it has all the built in features you get with any number of open source carts so it's frustrating when I'm prevented from doing something that I'm used to or think should be included by default. I've been working on this home page (yes, just the home page) for two weeks and trying to get just hat functioning correctly when I would have had the entire site completed and functioning in maybe two days at most if I weren't using Able.

mouse_8b
Commander (CMDR)
Commander (CMDR)
Posts: 115
Joined: Mon Oct 11, 2010 1:21 pm
Location: Austin, TX
Contact:

Re: How to create a simple menu?

Post by mouse_8b » Fri Dec 30, 2011 3:29 pm

I would settle for a snippet I could insert in the various areas of my site like [[insert Menu1]] and then it will render that menu there. But then i have to know where to create this menu on my end so Able can find it when I insert the snippet.
ConLib Controls!
Admin > Help > ConLib reference

There are quite a few built in controls that read a directory and generate a menu or category display. For example,
CatalogTree
Summary:Displays the catalog of your store in a treeview.

Usage: [[ConLib:CatalogTree ShowStoreNode="true" RootNodeText="Store Name" ShowAllNodes="false" PreExpandLevel="0"]]

Properties:

ShowStoreNode
If 'true' then will show the name of the store as root node.
RootNodeText
Text shown for root node, usualy the name of the store.
ShowAllNodes
If true will also display products, webpages and links.
PreExpandLevel
Represents up to which level the tree will be pre-expanded on first load.
In any scriptlet, just throw in [[ConLib: CatalogTree]] with any arguments you want to include and that control will generate a tree of your entire directory structure with links to those categories. The ConLib controls are completely customizable, so you could change some aspect of the control, save it under /ConLib/Custom, and call it with [[ConLib: Custom/CatalogTree]]. Most controls consist of 2 files: an .ascx (CatalogTree.ascx) and an .ascx.cs (CatalogTree.ascx.cs). The .ascx is the display part, and the .ascx.cs is the server script part. If you customize a control, make sure both files are in the /Custom folder, even if one of them is not customized.

For our store, I have a control called BNPNavigation. It is a simple list with each <li> linking to one of the main sections of my store. In my front page header, I have this line:

Code: Select all

<div id="main-store-subnav">[[ConLib:Custom/BnPNavigationFP]]</div>
and for the store part of the site, one of the sidebar scriptlets is simply this line:

Code: Select all

[[ConLib:Custom/BnPNavigation]]
I have different CSS styles for each place that the menu could be.

There is not a ConLib editor in the Able Admin. To customize ConLibs, you'll have to use a text editor or IDE to make the changes and FTP them to the site (unless, of course, you are working directly on the server). Default ConLib controls are in Root/ConLib, but you should save custom controls in /ConLib/Custom. ConLib controls use ASP.NET and C#. I didn't have any .NET experience before able, so there was a bit of a learning curve. One thing that really helped was realizing that the ID attributes of any <asp:> tags turned into variable names in the C# file, and that's how the display and logic elements were connected. If you are familiar with C++ or Java, C# should be easy enough to read and make minor edits.

The ConLib controls are where a lot of Able's power comes from. While it's not as simple as what you are used to, I would bet that the ConLib controls offer more power and flexibility.

mouse_8b
Commander (CMDR)
Commander (CMDR)
Posts: 115
Joined: Mon Oct 11, 2010 1:21 pm
Location: Austin, TX
Contact:

Re: How to create a simple menu?

Post by mouse_8b » Fri Dec 30, 2011 3:52 pm

How do I create a basic non-product page in Able cart, called "MyPage" with it's own URL?
Admin > Catalog > Browse, get to the folder where you want "MyPage" to be. Click "Webpage" from the "Add Items" menu on the right. Put "MyPage" for the Page Title. Use the Custom URL field to give it its own simple URL (super handy).

These webpages are stored in the database, so there is no "MyPage.html" that gets created anywhere on your site. Your Webpage Display Page will have a ConLib control that retrieves the page from the database based on GET parameters in the URL. On the Create Webpage screen, the "Summary" shows up on the category display page for the category that webpage lives in, the Content section is the main part, the HTML HEAD section will load whatever is in there into the <head> section of the page. This field is useful for metatags and CSS that is only needed for that page. The Display Page dropdown lets you choose a specific display page if you need to. Leave it set to "Use Store Default" to use the settings in Admin > Website > Default Page Styles.

For search blocks, use the [[SimpleSearch]] ConLIb control. There are no built in tagging features, but someone sells a "Product Tags" add-on (it might be Pluggables).

RKS_213
Lieutenant (LT)
Lieutenant (LT)
Posts: 69
Joined: Mon Dec 26, 2011 2:48 pm

Re: How to create a simple menu?

Post by RKS_213 » Fri Dec 30, 2011 4:28 pm

Thanks. I've found the CatalogTree controls and figured out how I'm supposed to be using them. I haven't the ability yet to understand how ComponentArt or whatever is pulling the data from the AC side so I can't code anything yet to create a menu I want because ItemLook and anything else written in the conLibs means nothing to me at the moment.

thanks for the tip about the basic page. I've been beating my head against the screen about the menus so I hadn't gotten to that part yet. You saved me some time next week.

Post Reply