Go to main content

Textpattern CMS support forum

You are not logged in. Register | Login | Help

#1 2011-01-26 04:23:36

maniqui
Member
From: Buenos Aires, Argentina
Registered: 2004-10-10
Posts: 3,070
Website

Robert Kantor Guitars - fabulous finishes with Swarovski crystals

Hi TXP friends,

If you like guitars, design, jewelry and art, I think you will enjoy this one.

Robert Kantor Guitars | fabulous finishes with Swarovski Crystallized Components™

But there is even more! (shouted like by an informercial host )
I’ve also developed a custom Facebook Page tab, content managed by, of course, our beloved TXP

You don’t have to have a FB account nor need to be logged in to be able to browse this microsite. Just click on the image (that one is Kareem Devlin, Lady Gaga’s guitarist), and it will load an iframe where you can navigate a stripped down version of the website.

It’s still a bit of a WIP, as it still needs some polishing on every layer (code, aesthetics, content, metadata, general IA, cross-browser testing) but it’s already online, so I’d like to share it with you. And, above all, content is king :)

My job was the usual: to convert a few PNG mockups into HTML/CSS/JS, and to adapt it to TXP backend. Pure fun!
Although it’s a very simple website in many aspects, I’ve taken the time to experiment with a lot of stuff, to reach a new level of TXP-fu. :)
I hope I can find the time to convert all this new gathered knowledge in a few forum posts and/or TXP tips.


La música ideas portará y siempre continuará

TXP Builders – finely-crafted code, design and txp

Offline

#2 2011-01-26 04:28:17

maniqui
Member
From: Buenos Aires, Argentina
Registered: 2004-10-10
Posts: 3,070
Website

Re: Robert Kantor Guitars - fabulous finishes with Swarovski crystals

A few things I’ve tinkered with:

  • using gbp_permanent_links to “break” the one-section => one-page-template relation. I’ve used gbp_permanent_links to assign different templates to different URLs, thus, having the ability to use a template for each view. This way, I avoided the usual conditional (if_some_context) cluttering to test for different TXP contexts, which easily becomes TXP spaghetti if it’s done all on the very same page template. Again, this website is pretty simple, so it was more an exercise. This practice can certainly pay off in more complex websites. And it certainly paid off on this one, particularly for managing the Facebook Page tab, as gbp_p_l was crucial to have different templates/views for article permalinks, without having to abuse article_custom or doing more if_ detour on permalink template.
  • the very same technique can be used to avoid creating dummy sections for article-less sections (typical examples: /search/ or /contact/). Investigate the “Plain text” component and the “Destination” fieldset on gbp_p_l Build tab. But feel free to ask if ths information isn’t enought to get you there :).

What else… let’s see:

  • I’ve also re-arranged some stuff on my TXP folder, to allow a more flexible setup for multi-site installations, mainly, to avoid sites being tied to the /sites/ folder, that lives inside of a particular TXP version. This relies heavily on a simple but powerful feature of Unix-style systems: symlinks. I’ve yet to write a post (a long one) about this method, but in the meanwhile, you can check this post by Jsoo, who does the same on a similar fashion. The main advantages of detaching /sites/ folders from TXP folder:
    • you are able to upgrade a website to a new TXP version by just changing a symlink.
    • and, then, better, you can decide which of your websites gets upgraded.
    • you have each of your websites/projects on separate folders, making it easier to keep your websites as independently as possible (which, consequently, makes it easier to do other tasks related to development, like version control).
  • similarly, since many projects ago, I install/run all TXP plugins on a folder (aka plugin_cache_dir). But this time, I’ve take this to a new level. I’ve a repository of TXP plugins (in .php files following this pattern: pluginname_versionnumber.php). This allows me to have different versions of TXP plugins to try and install, and selectively install/upgrade them on a per-website basis. The plugins are installed on each particular website by just symlinking them (a la Apache-style: sites-enabled/sites-available). This setup also allows me to override this method, by just dropping a real plugin .php file (instead of a symlink) on the plugin_cache_dir. This is helpful for plugins like bot_cf_title, which needs to be modded/configured on a per-site basis. The folder containing the symlinks and/or the .php files is the one configured as the plugin_cache_dir on each TXP website.
  • unnecessary to say it: cnk_versioning is a must for TXP development, imho. I can’t even think about developing a website inside a textarea (I loved it, many moons ago). And even less, I can’t think about not doing version control for forms/pages.

Also, all this methods bring great benefits when doing TXP development in teamwork (which wasn’t the case for Kantor Guitars website), but even for a single developer, it helps to reduce the amount of work on development and deployment.
You may think all of this stuff sounds like a lot of overwhelming/overkilling work. But, believe me, it pays off even for a single website. And it comes for free for the second website, and the third one, and so on…

Of course, the best/more-simple scenario for taking advantage of this kind of development/deployment is when you run a few (at least, two) TXP websites on the same server.
When developing different clients’ websites on your server, this is usually the case.
And even if at the end of development phase for a particular website, when you are ready for deployment, you just deploy one website to your client’s production server, it also pays off.

And I’ve just discovered git submodules functionality, which could take all this TXP development infrastructure to a new level…

Well, I could keep boring you, and to be fair, I’m already talking like a sales person, and not sharing the codez.
But feel free to ask, I can give you more details on this, and maybe, I could end up writing those posts/txptips that will numb blow your mind.
Ajuuuuuuuum!


La música ideas portará y siempre continuará

TXP Builders – finely-crafted code, design and txp

Offline

#3 2011-01-26 09:25:41

Bloke
Developer
From: Leeds, UK
Registered: 2006-01-29
Posts: 11,273
Website GitHub

Re: Robert Kantor Guitars - fabulous finishes with Swarovski crystals

You, sir, are a shining beacon of TXP and one of the reasons (pieman is another) I felt confident to post in my recent blog entry about the fact that TXP is infinitely flexible if you care to learn the craft of making beautiful sites. Its sheer elegance and simplicity affords us the freedom to do all this kind of stuff, and more, if you’re prepared to work at it and push it to the max. Just add cunning… and a few plugins :-)

I would be deeply, deeply interested in how you pulled the content into the Facebook page as I was thinking — just last week as it happens — how useful it would be to present a micro-site inside a FB page for a site I’ll be building soon. Any and all details of your considerable TXP-fu greatly appreciated, either here or via e-mail (you know where I live!)

Fantastic work. Makes me want to learn guitar better than my current chordy fumblings on the acoustic at home.

Last edited by Bloke (2011-01-26 09:28:39)


The smd plugin menagerie — for when you need one more gribble of power from Textpattern. Bleeding-edge code available on GitHub.

Txp Builders – finely-crafted code, design and Txp

Offline

#4 2011-02-06 03:28:01

maruchan
Member
From: Ukiah, California
Registered: 2010-06-12
Posts: 590
Website

Re: Robert Kantor Guitars - fabulous finishes with Swarovski crystals

Wow. Nice work! Really neat to read about the behind-the-scenes stuff. I’d also be interested to hear how you handled the Facebook tab. I have one of my own and I’d be interested to continue working on it in that way. Did you use something like rah_external_output?

Offline

Board footer

Powered by FluxBB