The "Tasty Food" site, the technical side
anyutt82 announced the site http://www.edasovkusom.ru/. So it can be considered launched. I'm not into cooking, so I can't judge its content, but I worked on its software side and want to write about that. Before this I hadn't made such complex sites on Joomla, though initially nothing foretold trouble, except for the fact that the whole functionality and design was begging to be done on WordPress, but the client's categorical requirement was Joomla! The outwardly simple little site was handed over to a new programmer, and I went off on vacation to finish up the three online stores hanging on me.
Remotely I helped with building the site all week, but in the end the boss handed the development over to me entirely, since the deadline was running out and the project had to be finished urgently. The functionality turned out to be unusual, it was the first time we were making something like a blog on Joomla. I had to use the Tag component for adding tags to recipes and the MultiCategories component, which replaces the standard Content component, since a single recipe has to be in several categories. To display a thumbnail image in the intro text the JA News module was used.
The problem was that the tags component only worked with standard content, not with multicategories, and on the tag page the tags weren't displayed either, while according to the spec they should have been. And the latest-articles module displayed the image only on its own page, but it also had to display it in the multicategory blog and the tag blog. Well, and the multicategories themselves knew nothing about tags or about displaying automatically reduced images in the text, and the categories and tags were also supposed to be displayed in a single list by one and the same plugin, that is, the tag plugin had to display them too. It was the first time I worked with the tags and multicategories components, I had to figure everything out and rewrite the components and plugins, link them to each other, hook up classes from the module into the components, and modify the plugins to fire with non-standard components. The article formatting turned out unusual too, with the categories displayed in the heading, the tags with an automatic image below, and everything together at the end. Part of this I did for the first time and before working on the project I didn't know how it's done. I gained a fair amount of experience.
It's good that at the time I was on vacation in the village and could quietly work in a focused way with a clear head in the evening and at night. In the office it's hard to concentrate when in parallel you constantly have to help two other programmers and the management is passing along new requirements from a couple or three different clients, and all of that after five hours of sleep, when your head can't work properly anyway. At work I would hardly have finished the main part of the project so successfully.
But the work on the site didn't end after the vacation. It also turned out that the software side of the Joomla admin panel had to be reworked, a requirement that is, on the one hand, of course, strange after they demanded the site be made only on this CMS, only for something else now to need reworking in the backend. On the other hand, that's justified too, since assigning multicategories separately wasn't convenient, and before this neither the client nor we had worked with multicategories on Joomla. I had to figure out the content editing form in the admin panel — this came harder, the backend code is some incomprehensible thing compared to the frontend, I somehow got what was needed done, it didn't come out pretty in the code, since I couldn't find exactly where and how it should properly be changed, but at least everything worked as asked.
A few weeks later the site suddenly became trilingual. I had worked with JoomFish! before and there were no particular problems installing it, I only just barely figured out on French Joomla sites where to download its translation. But in the end the translation of tags and multicategories refused to display — I again had to dig through the scripts and fix the database queries so that the translation call would fire, and rewrite the conditional operators so they'd work with translated content.
All in all, I enjoyed the work on the project and it stuck with me. I see in the office it got the others pretty fed up, and some even cringe at it. But I like that kind of thing, I like it when the client knows specifically what they want, even if the requirements are a bit unusual and strict. That's better than when you have to come up with part of the site's functionality on the fly during the build, and then rewrite it on top of that when, after showing it to the client, it turns out they want to redo part of it.