Zen Cart Logo
Forums / Templates, Stylesheets, Page Layout / Adding to an existing web site

Adding to an existing web site

Locked

Views: 10,142

Results 21 to 40 of 73
This thread is locked. New replies are disabled.
30 Jan 2010, 12:06 AM
#21
schoolboy avatar

schoolboy

Totally Zenned

Join Date:
Jun 2005
Location:
Cumbria, UK
Posts:
10,327
Plugin Contributions:
0

Adding to an existing web site

Adalast:

Luckilly all of their pricing is flat rate, so what is engraved is not an issue. All products will only have one price each. I think I could get this working, if i could just figure out how to make it look right to fit into the site. Would I be able to make just the 4 pages that have to do with eCommerce with ZC and leave the things like their photo gallery and contact pages how they are? Would I be able to get the ZC pages to sit inside of the HTML site in any way? Perhaps with an <iframe>. If i can do that, I would need to remove the interface completely and just leave the individual products and their accompanying text fields without any of the navigation stuff. Somehow I feel like this should be a whole lot simpler than it is shaping up to be. Is there no way to just have ZC handle the cart portion only and accept input from other HTML pages with forms on them? That's all I really need, other than the flash output portion, which should be able to be accomplished with a PHP intermediary script that is called by the Flash application and hands the variables to the cart. I don't need an interface. I don't need any navigation, search or category functions. I just need a button that puts the information from the HTML form into the cart and lets people pay for the products. Does it really need to get all complicated or is there an easier way that I am just missing?

(Sorry if this came off as a curt, I am feeling a little overwhelmed by the whole prospect of how to get this working. It sounds like I should be able to do everything I need with ZC, but I would love it if I could clear the superfluous clutter out.)

Zencart (like all generic carts) cannot be "sliced up" and used piecemeal. There are almost a million lines of code in a comprehensive installation - all dependant in some way on each other.

And embedding into a frame is a no - no . Payment gateways will reject a pass from an iframe and you will also encounter serious session issues.

Session issues will also be a problem if you "house" zencart in a sub-directory as these are timed to expire (for very valid security reasons). Basically, this means that if I am on your site, adding products to the cart, and I get distracted into a gallery that is not an embedded component of your store... if I spend too long in that gallery, the shopping cart section of the site will expire the session and the shopping cart will evaporate.

Customers will not (in the majority of cases) attempt to re-fill the cart and will simply take their business elsewhere.

So there are a LOT of supplementary technical AND procedural considerations - issues that relate to the protocols of things like cURL-based bi-directional communication, invoking of SSL at critical junctures, session management...

You only need to really concern yourself with the details of the above suff when you start looking for techniques to embed ZC into an established site. If you do the opposite (embed the site into ZC) then the above issues are largely taken care of.

20 years a Zencart User

30 Jan 2010, 12:17 AM
#22
adalast avatar

adalast

New Zenner

Join Date:
Jan 2010
Posts:
38
Plugin Contributions:
0

Re: Adding to an existing web site

Kim:

If we could see what you have designed it would b e easier to give you good answers.

Here is the link to what I have so far. Not sure if it's good or not, but if you have any good constructive suggestions beyond the scope of the current problem please feel free to share them. I have not started on the diamond or bible pages yet, I decided that it would be best if I got the commerce part working before I stepped into that section. If you need me to, I can knock out those pages tomorrow and we can go from there.

30 Jan 2010, 12:22 AM
#23
Kim avatar

Kim

Obaa-san

Join Date:
Jun 2003
Location:
West Coast, North America
Posts:
26,652
Plugin Contributions:
0

Re: Adding to an existing web site

The design you have so far can easily be incorporated into Zen Cart.

Please do not PM for support issues: a private solution doesn't benefit the community.

Be careful with unsolicited advice via email or PM - Make sure the person you are talking to is a reliable source.

30 Jan 2010, 7:21 AM
#24
adalast avatar

adalast

New Zenner

Join Date:
Jan 2010
Posts:
38
Plugin Contributions:
0

Re: Adding to an existing web site

schoolboy:

Zencart (like all generic carts) cannot be "sliced up" and used piecemeal. There are almost a million lines of code in a comprehensive installation - all dependant in some way on each other.

And embedding into a frame is a no - no . Payment gateways will reject a pass from an iframe and you will also encounter serious session issues.

Session issues will also be a problem if you "house" zencart in a sub-directory as these are timed to expire (for very valid security reasons). Basically, this means that if I am on your site, adding products to the cart, and I get distracted into a gallery that is not an embedded component of your store... if I spend too long in that gallery, the shopping cart section of the site will expire the session and the shopping cart will evaporate.

Customers will not (in the majority of cases) attempt to re-fill the cart and will simply take their business elsewhere.

So there are a LOT of supplementary technical AND procedural considerations - issues that relate to the protocols of things like cURL-based bi-directional communication, invoking of SSL at critical junctures, session management...

You only need to really concern yourself with the details of the above suff when you start looking for techniques to embed ZC into an established site. If you do the opposite (embed the site into ZC) then the above issues are largely taken care of.

ok... surprisingly that all made sense to me. it is late so you will have to pardon my poor grammar. what would be needed to create the pages i need to work in zencart? would i need to completely remake the website or could i just make the 4 pages that are involved in the sales aspect of it? if i were to make the 4 pages, would i be able to make them indiscernible from the rest of the site? for me the whole setup seems a little overwhelming and alien to how i'm used to doing web development. I like being able to look at all of my code and see what is going on when i'm editing... i think that might be why i have such a problem with actual programing languages... you have to make the entire thing before you can even see what it is going to look like. is there any way i can convert my HTML site into a format that will work with ZC? once i make the pages... how do i put the information on them? how do i do layout? if i am going to do this, i am going to be starting with a blank skillset and i am completely lost.

Thank you all so much for all of the help you have given me today. i wish there were some way i could repay you all.

adam

30 Jan 2010, 8:35 AM
#25
schoolboy avatar

schoolboy

Totally Zenned

Join Date:
Jun 2005
Location:
Cumbria, UK
Posts:
10,327
Plugin Contributions:
0

Re: Adding to an existing web site

There are no "pages" in zencart...

There are resources, elements and functions.

The resources are "clumps" of information - usually housed in the database - that are gathered up when needed.

Elements are generally static components, such as images, bundles of html (usually housed and stored in <divs>) and other things like flash files (if you use them)

Functions are generally algorithms in the code that perform calculations, check validity and relevance, and assemble the data.

Zencart (like any CMS) uses a programming code (php) to "cobble" pages together "on the fly". Depending on the link clicked by a visitor, the php gets to work assembling a page from the resources and elements, making sure to invoke any functions along the way, and then it parses the result into a template which is rendered in html and then sent to the broswer.

When the visitor navigates out of that page, it "evaporates". It ceases to exist, and the link (or button) that was clicked will result in the assembly of a brand new page.

Any given "page" can comprise several hundred individual components - all cobbled together by the php.

So, there can be literally thousands of ways that a CMS website can extract all these bits (resources, elements and functions) to build "dynamic" pages. A zencart site (depending on the number of products it hosts) can have tens of thousands of potential "pages" - each "page" created only for the duration it needs to be visible in the user's browser.

So...

UN-learn all you know about HTML page editing. While it extremely helpful to have this knowledge, it is of no practical use to you when designing your template. The template is written in php.

Yes... you will see "bits" of html code written into the php (because ultimately the "cobbled" page has to be in html format for the browser to render it), but you cannot edit a "page" in the same way you would with Dreamweaver - the "page" does not exist!

20 years a Zencart User

30 Jan 2010, 9:38 AM
#26
schoolboy avatar

schoolboy

Totally Zenned

Join Date:
Jun 2005
Location:
Cumbria, UK
Posts:
10,327
Plugin Contributions:
0

Re: Adding to an existing web site

I may have a solution for you...

Tell me...

How easy is it to get your "box builder" flash file to create a unique link?

For example... I can use your box builder to select a whole range of colours and components...

The final TAB is "SUBMIT ORDER"

If you can get your flash file to write a unique URL - based on the selections made, you could have an answer.

Let's say I make the following choices...

  1. Satin Color = Navy Blue
  2. Flower or Bow = Bow
  3. Text Input (ignore this for the moment)
  4. Image = Wedding Bells
  5. Ribbon Color = Fossil

If you can get this to parse a unique URL, there may be a solution... So, tell me if you can get a unique URL out of your system - based on the choices...

EG: for my choices above, the system would present the following URL:

index.php?main_page=product_info&cPath=558_578&products_id=1558

However... if I choose a different color RIBBON, say "Chutney", then the URL could be...

index.php?main_page=product_info&cPath=558_578&products_id=1546

Can yiou get your system to generate such unique links, based on the array of choices?

20 years a Zencart User

30 Jan 2010, 5:50 PM
#27
adalast avatar

adalast

New Zenner

Join Date:
Jan 2010
Posts:
38
Plugin Contributions:
0

Re: Adding to an existing web site

schoolboy:

How easy is it to get your "box builder" flash file to create a unique link?

I suppose it wouldn't be to have each button change a variable, then when the "add to cart" button is hit, the variables are strung together to create a unique web link. There is a PHP call [sendAndLoad("mailer.php", my_vars, "POST")] that handles sending out the information right now. I think if i change that so that the mailer.php call (which is in there to send an email with the variables once the button is hit) to something like "mailer.php?main_page=product_info&cPath=558_578&products_id="+variable1+variable2+variable3+variable4 it should call the unique item code. I know that i won't be using a "sendandload" because that is for sending the whole code. But if I call it as a web link in the browser, I should have no problem doing it.

think that would that work? and if i do that, how would i get the text fields out?

30 Jan 2010, 7:46 PM
#28
schoolboy avatar

schoolboy

Totally Zenned

Join Date:
Jun 2005
Location:
Cumbria, UK
Posts:
10,327
Plugin Contributions:
0

Re: Adding to an existing web site

Here's my thinking...

embed the box designer in an IFRAME inside a zencart page.

(I do this on a couple of sites)

The customer can still build their box using the designer.

When they have their design done, the URL generated during this process points to a PRODUCT in zencart.

It means you have to create a separate product in zencart for every box variation - but each will have its own category and product ID - which is what zencart locates...

Hence the URL:

index.php?main_page=product_info&cPath=558_578&products_id=1558

embedded into the box designer's CART link, will take them to the product they have just configured...

20 years a Zencart User

30 Jan 2010, 8:01 PM
#29
orcasoul avatar

orcasoul

Zen Follower

Join Date:
Jan 2010
Posts:
133
Plugin Contributions:
0

Re: Adding to an existing web site

rstevenson:

This is the part I just cannot understand. How could anyone take on a job that includes an eCommerce component, and design the whole site almost to completion, and only then go looking for the eComm part? That is just plain nuts, if you don't mind my saying so.

Rob

Rob, perhaps this might help you understand.

I have written some Python scripts that allow the user to put their 3D product purchase history into a database. I did this first for my own use, showed it to some friends, they showed it to some friends...and it has become a product to sell. So, I needed a HTML/php/MySQL web site to sell these (since the potential market could be hundreds if not thousands, I wanted to avoid the casual e-mail sales). I know HTML, but not php/MySQL...so I bought a book, modified the code to reflect my needs, and now just need the PayPal shopping cart, with the IPN capability that the book doesn't cover. I looked around, found Zen Cart, and I do like the capabilities of the platform...but it really isn't the most obvious learning path when you first dive into the pond. I finally read most of the available info, 3 days long hours, and think I have the core of an understanding of how & what it does. I actually think I may have something up & working in a couple of days. But I too am not pleased with having to re-code everything I already wrote - I will do it, but that doesn't make me eager to do so.

But to have to deal with the blindness - almost arrogance - of "This is the part I just cannot understand." is irritating...not everyone of us who comes to this point does so as fully knowledgeable of all you have to offer us. Some of us got here through some fairly thick underbrush, and are weary of having to learn yet "another" new way to redo what we've already done. And we DO appreciate the help we are getting - thus far I've gotten some great assistance. The WIKI, once you get orientated, is very useful. But being looked down at for having tried to do it without you is not helpful. Help if you can, but remember that not everyone is as lucky as you to have found Zen Cart right at the start, avoiding the stumbles...in fact, I consider the time spent stumbling as very useful in seeing the advantages of your product.

31 Jan 2010, 9:14 AM
#30
adalast avatar

adalast

New Zenner

Join Date:
Jan 2010
Posts:
38
Plugin Contributions:
0

Re: Adding to an existing web site

schoolboy:

Here's my thinking...

embed the box designer in an IFRAME inside a zencart page.

(I do this on a couple of sites)

The customer can still build their box using the designer.

When they have their design done, the URL generated during this process points to a PRODUCT in zencart.

It means you have to create a separate product in zencart for every box variation - but each will have its own category and product ID - which is what zencart locates...

Hence the URL:

index.php?main_page=product_info&cPath=558_578&products_id=1558

embedded into the box designer's CART link, will take them to the product they have just configured...
I see where you are going with this... and I see how it would work. I really really would like to avoid it if at all possible though because the permutations are astronomical. 192 ribbon colors * 25 satins * 2 boxes * 18 images (currently, though that is dynamic so they can add more) = 172800 unique entries. Then for every image they want to add... there would need to be 9600 new items added to the database. I don't know about anyone else, but entering 172k database entries all for the exact same product would take me way too long and get really tedious... especially since it doesn't change the price. Isn't there a way to have a script store the variables when the box gets added to the cart, then when the payment is cleared and the emails for the receipt are sent out it reads those variables and drops them into an email to my client? Even with my limited coding skills I can only imagine that making that work would be faster than virtually duplicating the entries 172k times. As far as the eCommerce is concerned, none of the settings mean anything, it's just a count of the number of each items. What is written or what other options they pick have no meaning to the price or what needs to be displayed in the cart, unless there is an easy way to display the options they have selected without making an individual sales object for each and every option. In all reality, I could get away with just 3 objects for sale, one for the diamonds, one for the bibles and one for the boxes since (barring coupon codes from the hotels) the prices are static for each item.

I was looking at just using Google Checkout to do it and that is still an option for me if I need to, but I couldn't figure out how to make it display a cart page, just the floating one up in the corner which I know for a fact that my clients will not like. Is there some other way that I could be doing this that might be simpler. An HTML form with a submit button that adds to a cart would suffice I think for this client. The cart would need the above mentioned features of the step 1 shipping calculator and Google/Paypal/Credit Cart purchase options and a catchka or however you spell it to help weed out the bots.

31 Jan 2010, 9:16 AM
#31
adalast avatar

adalast

New Zenner

Join Date:
Jan 2010
Posts:
38
Plugin Contributions:
0

Re: Adding to an existing web site

OrcaSoul:

Rob, perhaps this might help you understand.

I have written some Python scripts that allow the user to put their 3D product purchase history into a database. I did this first for my own use, showed it to some friends, they showed it to some friends...and it has become a product to sell. So, I needed a HTML/php/MySQL web site to sell these (since the potential market could be hundreds if not thousands, I wanted to avoid the casual e-mail sales). I know HTML, but not php/MySQL...so I bought a book, modified the code to reflect my needs, and now just need the PayPal shopping cart, with the IPN capability that the book doesn't cover. I looked around, found Zen Cart, and I do like the capabilities of the platform...but it really isn't the most obvious learning path when you first dive into the pond. I finally read most of the available info, 3 days long hours, and think I have the core of an understanding of how & what it does. I actually think I may have something up & working in a couple of days. But I too am not pleased with having to re-code everything I already wrote - I will do it, but that doesn't make me eager to do so.

But to have to deal with the blindness - almost arrogance - of "This is the part I just cannot understand." is irritating...not everyone of us who comes to this point does so as fully knowledgeable of all you have to offer us. Some of us got here through some fairly thick underbrush, and are weary of having to learn yet "another" new way to redo what we've already done. And we DO appreciate the help we are getting - thus far I've gotten some great assistance. The WIKI, once you get orientated, is very useful. But being looked down at for having tried to do it without you is not helpful. Help if you can, but remember that not everyone is as lucky as you to have found Zen Cart right at the start, avoiding the stumbles...in fact, I consider the time spent stumbling as very useful in seeing the advantages of your product.

Thank you so much. I was just ignoring the post, but had I replied, I don't think I could have phrased it better myself.

31 Jan 2010, 12:45 PM
#32
schoolboy avatar

schoolboy

Totally Zenned

Join Date:
Jun 2005
Location:
Cumbria, UK
Posts:
10,327
Plugin Contributions:
0

Re: Adding to an existing web site

Adalast:

I see where you are going with this... and I see how it would work. I really really would like to avoid it if at all possible though because the permutations are astronomical.

I did spend a brief moment thinking about the exponential nature of the calculations... but the idea was worth a shot anyway.:D

20 years a Zencart User

31 Jan 2010, 2:52 PM
#33
rstevenson avatar

rstevenson

Totally Zenned

Join Date:
Nov 2006
Location:
Dartmouth, NS Canada
Posts:
2,400
Plugin Contributions:
0

Re: Adding to an existing web site

OrcaSoul:

Rob, perhaps this might help you understand. ...
But to have to deal with the blindness - almost arrogance - of "This is the part I just cannot understand." is irritating...not everyone of us who comes to this point does so as fully knowledgeable of all you have to offer us. ...

Sorry to have upset you. I was responding to the situation as outlined to that point in the thread. The situation seemed to be that of a designer who accepted a job that they didn't know how to finish. Later info in the thread tells me that was not so, but there was no way to know that at the time I posted my remark. And it is an all too familiar situation, which I have had to deal with in my own business, cleaning up after someone else has failed. I hope it's obvious now I was just speaking out of momentary frustration and did not mean any offense to any particular individual.

Rob

Breakfast: the most important donut of the day.

31 Jan 2010, 10:38 PM
#34
adalast avatar

adalast

New Zenner

Join Date:
Jan 2010
Posts:
38
Plugin Contributions:
0

Re: Adding to an existing web site

Thanks for the apology Rob. I did get in over my head a bit on the whole commerce portion of the site, but I'm learning. Still no answer on any possible alternatives to zencart that might be a little more simplistic? If not, is there anywhere else I might be albe to go to get an answer? I would like to have a few methods to propose to my clients along with the pros and cons of each so that they can make a decision of how they want me to procede.

31 Jan 2010, 11:18 PM
#35
orcasoul avatar

orcasoul

Zen Follower

Join Date:
Jan 2010
Posts:
133
Plugin Contributions:
0

Re: Adding to an existing web site

rstevenson:

Sorry to have upset you. I was responding to the situation as outlined to that point in the thread. The situation seemed to be that of a designer who accepted a job that they didn't know how to finish. Later info in the thread tells me that was not so, but there was no way to know that at the time I posted my remark. And it is an all too familiar situation, which I have had to deal with in my own business, cleaning up after someone else has failed. I hope it's obvious now I was just speaking out of momentary frustration and did not mean any offense to any particular individual.

Rob

Rob,

Apology accepted - and please accept mine in return. I had just gotten up from a restless night - something to do with a cat that has discovered my body makes a wonderful walkway in the middle of the night...and offers her thanks by massaging my neck...:censored:

I love her dearly, but...:bangin:

1 Feb 2010, 1:36 AM
#36
rstevenson avatar

rstevenson

Totally Zenned

Join Date:
Nov 2006
Location:
Dartmouth, NS Canada
Posts:
2,400
Plugin Contributions:
0

Re: Adding to an existing web site

Adalast:

... Still no answer on any possible alternatives to zencart that might be a little more simplistic? ...

Like many here, I came to Zen Cart after finally deciding the "simple" alternatives were anything but. Yes, it would be nice to be able to drop a Buy Me button into an HTML-based site anywhere you want, but the invisible things you get with a full solution like Zen Cart, including but not limited to security, multiple payment gateways, shipping modules to cover any situation, etc. really outweigh the pain of the learning curve.

If you can get through the first few weeks of learning and become an expert at designing within Zen Cart (and there really is almost nothing you can't do visually within ZC) you'll have a leg up on the competition, and can offer your clients a solid alternative.

And the best part of the whole thing is that you'll find lots of helpful people on this forum (and some occasionally grumpy ones :blush:) to help you up the learning curve.

Rob

Breakfast: the most important donut of the day.

1 Feb 2010, 3:53 AM
#37
adalast avatar

adalast

New Zenner

Join Date:
Jan 2010
Posts:
38
Plugin Contributions:
0

Re: Adding to an existing web site

OK... well that is understandable. Now how do I get started putting together this layout to look like the site I have made? Also, will I be able to use ZC for just the selling portions of my site and then use the HTML pages for the parts that do not need any sales aspects? Also, will I be able to use the identical menus that I have? They are a CSS/PHP driven system. How do I get started making a template to make it look exactly like I have now?

1 Feb 2010, 1:52 PM
#38
rstevenson avatar

rstevenson

Totally Zenned

Join Date:
Nov 2006
Location:
Dartmouth, NS Canada
Posts:
2,400
Plugin Contributions:
0

Re: Adding to an existing web site

Adalast:

Now how do I get started putting together this layout to look like the site I have made?

Best place to start is in the Turtorials/FAQ section, link at the top of this page. In particular learn about the overrides system, so you get things in the right place right off the top.

Then have a look at the free templates available for Zen Cart. You should be able to find one that is leaning in the direction you want to go a lot farther than the stock template that comes with ZC.

Experiment with the stylesheet just to get a feel for what it controls. There's a huge amount of control possible using the stylesheet. Moving code is sometimes required. Writing code is rarely needed.

Check out the Free Software Add Ons (link, top-left) for mods that you will find useful. A lot of people have already invented the wheel, so no need to reinvent it.

Adalast:

Also, will I be able to use ZC for just the selling portions of my site and then use the HTML pages for the parts that do not need any sales aspects?

Best to use ZC for the whole thing. In the Tut/FAQs look up EZ Pages. Those are easy to make pages which automatically fit into the ZC navigation system and can hold any content. They're particularly good for "static" HTML content.

Adalast:

Also, will I be able to use the identical menus that I have? They are a CSS/PHP driven system.

I had a look at what you've done so far. That looks like a combination of category menus and attributes. This is an ideal thing to do using jQuery, which will be, I think, a part of Zen Cart 2.0 when it's released. (Or am I thinking of AJAX?) In the meantime, I believe it is possible to use jQuery within ZC now. There are a few threads here in the forum which touch on it.

But even without jQuery you should be able to do what you need using Attributes (again, see that topic in the Tut/FAQs.)

I hope this gets you moving in the right direction. Ask specific questions in new threads, one for each question, and you'll find lots of help here.

Rob

Breakfast: the most important donut of the day.

3 Feb 2010, 9:27 PM
#39
adalast avatar

adalast

New Zenner

Join Date:
Jan 2010
Posts:
38
Plugin Contributions:
0

Re: Adding to an existing web site

Ok... I am off to a good start, but I can't seem to find some of the information I am needing.

  • How do I set an EZ page as the home page?
  • How do I move the menu from the top of the page to directly below my logo?
  • How do I add EZ pages to the menu I am trying to move?
  • Is there any way to replace the PHP script that is controlling that menu with the one that I am using on my original site?
  • Should I be trying to make the Box Builder as an EZ page or as a product page?
  • How do I remove the title from the EZ pages?
  • How do I remove the login function completely? My client has no need for people to make accounts with them. If it is unable to be removed, I will try to find a way to spin it, but I would like to see it gone entirely.

I suppose that the way the menu works for the EZ pages right now would work overall... if I could get the product pages on there too. I am personally thinking of making the box builder as an EZ page and then trying to get the other two as product pages. Then all I have to do is figure out how to make the flash output the variables and I think I'll be in business.

4 Feb 2010, 3:38 PM
#40
rstevenson avatar

rstevenson

Totally Zenned

Join Date:
Nov 2006
Location:
Dartmouth, NS Canada
Posts:
2,400
Plugin Contributions:
0

Re: Adding to an existing web site

  • How do I set an EZ page as the home page?

If you want static content on the home page, turn off anything you don't want in admin/Configuration/Index Listing, then add content to the home page by using admin/Tools/Define Pages Editor > define_main_page.php

  • How do I move the menu from the top of the page to directly below my logo?
  • How do I add EZ pages to the menu I am trying to move?

Your EZ-Page links can be in the header links, along with Home, Log In and so on; they can be in the footer; and they can be in the Important Links sidebox. And maybe all three at once? Not sure about that. Have a look at admin/Configuration/EZ Pages Settings.

  • Should I be trying to make the Box Builder as an EZ page or as a product page?

As a product page so you can use the attributes. Or as an EZ-Page so you can employ totally custom code. Your choice.

  • How do I remove the title from the EZ pages?

You'd have to customize the php file which controls the layout of EZ-Pages. Off hand, I don't know where that is.

  • How do I remove the login function completely? My client has no need for people to make accounts with them. If it is unable to be removed, I will try to find a way to spin it, but I would like to see it gone entirely.

Search these forums for COWOA. And search the Free Software Add Ons for Login.

Rob

Breakfast: the most important donut of the day.