Module class suffixes


First Prev Page 3 of 4 Next Last 
Author Message
Gary

Posted: 3/17/2010
Quote message 

I'd be happy for you to post them!

Thanks,
Gary
 
Matt

Posted: 3/17/2010
Quote message 

Done -- thanks!

--Matt
 
Steve

Posted: 4/12/2010
Quote message 

Well, THAT was a waste of $10.69

And tell me again why I paid so much money for a template generator that ABDUCTS ALL of my options while leaving me with a predetermined set of their own? Really?!?! You've GOT to be kidding me. Talk about taking Joomla BACK to the stone age. If I'm going to have to hack code every freaking time I want to use this thing for something other than the average plain template, I'll definitely be throwing my money away somewhere else.
 
Brian

Posted: 4/13/2010
Quote message 

Quote Shecodes:

I really, really like Artisteer, and would recommend it to any newbie to Joomla, however the lack of module suffix support is a really bitter pill to swallow.

I purchased Artisteer so that I would NOT have to slog through massive lines of code for simple changes :( I think that changing the basic functionality of Joomla is really problematic!

I have carefully read through all of the solutions here and even tried a few, but I honestly think that the amount of time to fix this gaping hole would be better utilized by altering the CSS of an existing template that was not created by Artisteer.

So, I will use this software for very simple websites that don't need the flexibility of suffixes.


Shecodes, I totally agree with you. I've been building Joomla sites for several years. I thought that Artisteer would be a solution to for building sites with flexibility quickly. So far, as it relates to custom modules, that is not the case. In fact, it has been simpler to modify
Joomla Template Builder - which is a lesser product. But, doesn't go away from core J! code.

(My "rant...")
Brian
 
Steve

Posted: 4/16/2010
Quote message 

It is quite clear that Artisteer is not in the least concerned about the power and flexibility their product robs us of.

Given the lame responses presented to my inquiries, it certainly is NOT going to be my choice to support this team of programmers with any of my money in the future. It seems that is the only way to get their attention.
 
Duggie

Posted: 4/27/2010
Quote message 

Quote Killerweb:

:-| found it

May I ask how you found it Killerweb?
 
Duggie

Posted: 4/28/2010
Quote message 

ok it doesnt seem to work very well with Jennifer's changes on the latest Artisteer 2.4.0.26594
Prolly best to start using a different tools. Just want to style the header... thats all.
I mean really.

 
Duggie

Posted: 4/28/2010
Quote message 

And Gary, your wiki post is missing a few ' '

 
thierrypierre

Posted: 5/13/2010
Quote message 

Quote jennifer:

Just generate one artisteer template for each block style you want.

Copy just the block part of each style's template.css, template.ie6.css, and template.ie7.css and change every instance of .art-Block to .art-anythingBlock

Edit your modules.php
function modChrome_artstyle($module, &$params, &$attribs)

{
$style = $params->get('moduleclass_sfx');
//echo $style;
switch ($style) {
case 'art-block':
case 'menu':
case '_menu':
modChrome_artblock($module, $params, $attribs, '');
break;
case 'color':
modChrome_artblock($module, $params, $attribs, 'color');
break;
case 'light':
modChrome_artblock($module, $params, $attribs, 'light');
break;
case 'dark':
modChrome_artblock($module, $params, $attribs, 'dark');
break;
case 'art-article':
case 'none':
case 'article':
default;
modChrome_artarticle($module, $params, $attribs);
break;
case 'art-nostyle':
case '':
modChrome_artnostyle($module, $params, $attribs);
break;
}
}

function modChrome_artnostyle($module, &$params, &$attribs)
{
if (!empty ($module->content)) : ?>
<div class="art-nostyle">
<?php if ($module->showtitle != 0) : ?>
<h3><?php echo $module->title; ?></h3>
<?php endif; ?>
<?php echo $module->content; ?>
</div>
<?php endif;
}

function modChrome_artblock($module, &$params, &$attribs, $style='')
{
if (!empty ($module->content))
echo artxBlock(($module->showtitle != 0) ? $module->title : '', $module->content, $style);
}

function modChrome_artarticle($module, &$params, &$attribs)
{
if (!empty ($module->content))
echo artxPost(($module->showtitle != 0) ? $module->title : '', $module->content);
}

and your functions.php
	function artxBlock($caption, $content, $style='')

{
$hasCaption = (null !== $caption && strlen(trim($caption)) > 0);
$hasContent = (null !== $content && strlen(trim($content)) > 0);

if (!$hasCaption && !$hasContent)
return '';

ob_start();
?>
<div class="art-<?php echo $style;?>Block">
<div class="art-<?php echo $style;?>Block-tl"></div>
<div class="art-<?php echo $style;?>Block-tr"></div>
<div class="art-<?php echo $style;?>Block-bl"></div>
<div class="art-<?php echo $style;?>Block-br"></div>
<div class="art-<?php echo $style;?>Block-tc"></div>
<div class="art-<?php echo $style;?>Block-bc"></div>
<div class="art-<?php echo $style;?>Block-cl"></div>
<div class="art-<?php echo $style;?>Block-cr"></div>
<div class="art-<?php echo $style;?>Block-cc"></div>
<div class="art-<?php echo $style;?>Block-body">

<?php if ($hasCaption): ?>
<div class="art-<?php echo $style;?>BlockHeader">
<div class="l"></div>
<div class="r"></div>
<div class="art-header-tag-icon<?php echo $style;?>">
<div class="t">
<?php echo $caption; ?>
</div>
</div>
</div>
<?php endif; ?>
<?php if ($hasContent): ?>
<div class="art-<?php echo $style;?>BlockContent">
<div class="art-<?php echo $style;?>BlockContent-tl"></div>
<div class="art-<?php echo $style;?>BlockContent-tr"></div>
<div class="art-<?php echo $style;?>BlockContent-bl"></div>
<div class="art-<?php echo $style;?>BlockContent-br"></div>
<div class="art-<?php echo $style;?>BlockContent-tc"></div>
<div class="art-<?php echo $style;?>BlockContent-bc"></div>
<div class="art-<?php echo $style;?>BlockContent-cl"></div>
<div class="art-<?php echo $style;?>BlockContent-cr"></div>
<div class="art-<?php echo $style;?>BlockContent-cc"></div>
<div class="art-<?php echo $style;?>BlockContent-body">

<?php echo artxReplaceButtons($content); ?>

<div class="cleared"></div>
</div>
</div>

<?php endif; ?>

<div class="cleared"></div>
</div>
</div>

<?php
return ob_get_clean();
}





Hello

Jennifer code seems really usefull, and it's exactly what I am looking for.
I am confident that the Artisteer team will provide this kind of feature in the next future.
They did really a great job.

My problem is that I was not able to make work the Jennifer code with Artisteer version 2.4.0.25435.

Obviously I am pretty sure that it's due to my lack of knowledge.

By the way if somebody has already find the solution, he will be welcome !
I seem that there is a wiki with a topic on the matter. http://www.artisteerwiki.com

A nice day to everybody
And thanks you very much to Jennifer and all the others contributors.
Kind regards
Thierrypierre

 
Jeremy Ship

Posted: 6/18/2010
Quote message 

I neeeeeeeeeeeeeeeeeeeed onnn handdssss asssisstanceeee!!!

I've looked through this twice and tried many things, although I'm sure the answer is right there in front of me I haven't figured it out by myself. Can I contact someone or have someone look into my artisteer template on my site!? I would love to speak to you, I've been crackin on this months, drives me nuts!

some contact info: MSN: ship_jeremy@hotmail.com
skype; remeedella

Please and Thanks,
Jeremy
 
Will Patterson

Posted: 6/20/2010
Quote message 

You will need to double check your code to the sample above as the way the software now outputs the code has changed the case of some of output. Previously the code was BlockContent, BlockHeader etc now its blockcontent, blockheader and so on.
 
jerem

Posted: 6/30/2010
Quote message 

:-@
Yes does not work for me Will Patterson. I am using older version, would you be willing to take a look? Still struggling.
 
Will Patterson

Posted: 7/1/2010
Quote message 

Sure send me your template and i'll have a look at it. It definitely does work on the older versions of artisteer and the newest one as i have implemented it on both, so its prob just some silly big of code messing things up. My email address is info AT willpatterson DOT co DOT uk
 
Alexandre

Posted: 7/9/2010
Quote message 

Quote tekfix:

Here is my solution to the problem:

I have modified the file C:\Program Files\Artisteer 2\Library\Data\Templates\Joomla\Export\Files\html\modules.php. In that file I have changed the ' function modChrome_artstyle' to look like this:


function modChrome_artstyle($module, &$params, &$attribs)
{
$style = isset($attribs['artstyle']) ? $attribs['artstyle'] : 'art-nostyle';
$sfx = $params->get('moduleclass_sfx');
if (in_array($sfx, array('art-nostyle', 'art-block', 'art-article')))
$style = $sfx;
else
$style = 'own_style';
switch ($style) {
case 'art-block':
modChrome_artblock($module, $params, $attribs);
break;
case 'art-article':
modChrome_artarticle($module, $params, $attribs);
break;
case 'art-nostyle':
modChrome_artnostyle($module, $params, $attribs);
break;
case 'own_style':
modChrome_ownstyle($module, $params, $attribs);
break;
}
}


The only changes to the original version are the lines

else
$style = 'own_style';


and


case 'own_style':
modChrome_ownstyle($module, $params, $attribs);
break;


Then, additionally I added a new function:


function modChrome_ownstyle($module, &$params, &$attribs)
{
if (!empty ($module->content)) : ?>
<div class="<?php echo $params->get('moduleclass_sfx'); ?>">
<?php if ($module->showtitle != 0) : ?>
<h3 class="<?php echo $params->get('moduleclass_sfx'); ?>"><?php echo $module->title; ?></h3>
<?php endif; ?>
<?php echo $module->content; ?>
</div>
<?php endif;
}



Now you can use your own suffixes when needed. Then, additionally you have to make css-styles for your own classes....

Works like a charm in version 2.2 and 2.3.



 
Alexandre

Posted: 7/9/2010
Quote message 

DEAR TEKFIX i realy love you!

modifing your code i have maked it functionaly on version 2.4

to simplyfi change your entire modules.php to it:

<?php

defined('_JEXEC') or die('Restricted access'); // no direct access

if (!defined('_ARTX_FUNCTIONS'))
require_once dirname(__FILE__) . str_replace('/', DIRECTORY_SEPARATOR, '/../functions.php');

function modChrome_artstyle($module, &$params, &$attribs)
{
$style = isset($attribs['artstyle']) ? $attribs['artstyle'] : 'art-nostyle';
$styles = array(
'art-nostyle' => 'modChrome_artnostyle',
'art-block' => 'modChrome_artblock',
'art-article' => 'modChrome_artarticle',
'art-vmenu' => 'modChrome_artvmenu'
);
$sfx = $params->get('moduleclass_sfx');
$styles[$sfx] = 'modChrome_ownstyle';
if (in_array($sfx, array_keys($styles)))
$style = $sfx;
call_user_func($styles[$style], $module, $params, $attribs);
}

function modChrome_artnostyle($module, &$params, &$attribs)
{
if (!empty ($module->content)) : ?>
<div class="art-nostyle">
<?php if ($module->showtitle != 0) : ?>
<h3><?php echo $module->title; ?></h3>
<?php endif; ?>
<?php echo $module->content; ?>
</div>
<?php endif;
}

function modChrome_artblock($module, &$params, &$attribs)
{
if (!empty ($module->content))
echo artxBlock(($module->showtitle != 0) ? $module->title : '', $module->content);
}

function modChrome_artvmenu($module, &$params, &$attribs)
{
if (!empty ($module->content)) {
if (function_exists('artxVMenuBlock'))
echo artxVMenuBlock(($module->showtitle != 0) ? $module->title : '', $module->content);
else
echo artxBlock(($module->showtitle != 0) ? $module->title : '', $module->content);
}
}

function modChrome_artarticle($module, &$params, &$attribs)
{
if (!empty ($module->content))
echo artxPost(($module->showtitle != 0) ? $module->title : '', $module->content);
}

function modChrome_ownstyle($module, &$params, &$attribs)
{
if (!empty ($module->content)) : ?>
<div class="<?php echo $params->get('moduleclass_sfx'); ?>">
<?php if ($module->showtitle != 0) : ?>
<h3 class="<?php echo $params->get('moduleclass_sfx'); ?>"><?php echo $module->title; ?></h3>
<?php endif; ?>
<?php echo $module->content; ?>
</div>
<?php endif;
}


and only wath you need to do is put the model suffix wath you want :-)
 
adam612

Posted: 7/19/2010
Quote message 

artisteer 2.4
I only add to functions.php code from secound template (from: function artxBlock to: return ob_get_clean(); } ) and change name.
to modules.php add: 'art-NEWNAME' => 'modChrome_artNEWNAME',
and:
function modChrome_artNEW NAME($module, &$params, &$attribs)
{
if (!empty ($module->content))
echo artxNEWNAME(($module->showtitle != 0) ? $module->title : '', $module->content);
}
works for me

 
sgnappa

Posted: 11/23/2010
Quote message 

Sorry if I reopen this topic, but I think I'm doing something wrong.
I've Artisteer 2.3
I applied Jennifer and Gary suggestions, the module I wished to customize has changed its style, but the problem is that all other modules in position left and right have lost their design :-@

Look at the following screenshots

My goal is to change the style of first module in left position

This is the original template
http://img833.imageshack.us/img833/8756/screenorig.gif

This is the template after I applied the suggested changes
http://img132.imageshack.us/img132/3945/screenjenn.gif

...I've noticed that if I apply the suffix "menu" to other modules they look good, but I don't undertsand why they've changed, I wish all other standard modules in left and right keep having standard styling.

Could you help me?

 
thx

Posted: 2/27/2011
Quote message 

is this working as well with artisteer 3.x pls?

thanks
 
wp

Posted: 3/1/2011
Quote message 

It's even easier with 2.6 / 3, you don't have to play about with any of the modules or functions php files just create a new set of styles in the css file to suit your new module design
 
Simone

Posted: 3/2/2011
Quote message 

Well... in 3.0 I want to add another suffix for some of the blocks. i cant put in 'block2 block2header and block2content' in the module class suffix (well i can put it there but, that doesnt work the way i want it to) so I need all those classes to be combined in one suffix. like the art-block one. I have looked in the module.pho file, but it looks different from the older artisteer functions.

Am I overlooking something and is there another easy way to combine classes in 1 suffix like is done with the art-block?

and if not, where are the art-block, art-post and art-nostyle suffixes defined now? not in the modules.php anymore anyway...
 
Sabrina

Posted: 3/7/2011
Quote message 

I purchased Artisteer 3.0 one months ago after falling in love with it. However trying to figure out how to use module class suffixes for the artblock style within 3.0 templates has proved to be very, very frustrating... Considering no one had a solution and there is not much information on this forum of the 3.0 templates.

Nonetheless I was FINALLY :-D able to find a solution. Now let me be the first to say, I am no CSS guru nor am I a PHP coding master but I have a solution. I am more than sure that there may be an easier way to do this... So if you have any suggestions, please leave a comment or email me and I will updated my documentation.

<a href="http://www.presgurudesign.com/docs/Artisteer3_Adding_A_New_ArtBlock.pdf" target="_blank">How To Create a New ArtBlock in an Artisteer 3.0 Template</a>


If anyone finds any discrepancies, please email me. Otherwise, I would love to hear comments from anyone who find my instructions to be useful.

Take care, be prosperous and wishing you love.
 
Sabrina

Posted: 3/7/2011
Quote message 

Corrected link:

http://www.presgurudesign.com/docs/Artisteer3_Adding_A_New_ArtBlock.pdf
 
Vovsen

Posted: 3/15/2011
Quote message 

Sabrina: have tried to follow your "How to Add a New ArtBlock to an Artisteer 3.0 Template" but I'm stuck at 3rd Step as my <div class="pdg-block"> look like this:

function artxBlock($caption, $content, $classes = '')
{
$hasCaption = ($GLOBALS['artx_settings']['block']['has_header']
&& null !== $caption && strlen(trim($caption)) > 0);
$hasContent = (null !== $content && strlen(trim($content)) > 0);

if (!$hasCaption && !$hasContent)
return '';

ob_start();
?>
<?php ob_start(); ?>
<div class="art-block">
<div class="art-block-body">

<?php echo str_replace('class="art-block">', 'class="art-block' . $classes . '">', ob_get_clean()); ?>
<?php if ($hasCaption): ?>
<div class="art-blockheader">
<h3 class="t">
<?php echo $caption; ?>
</h3>
</div>

<?php endif; ?>
<?php if ($hasContent): ?>
<div class="art-blockcontent">
<div class="art-blockcontent-body">

<?php echo artxReplaceButtons($content); ?>


<div class="cleared"></div>
</div>
</div>

<?php endif; ?>

<div class="cleared"></div>
</div>
</div>

<?php
return ob_get_clean();
}
 
Sabrina

Posted: 4/15/2011
Quote message 

Hi Vovsen,

In response to your message, and I hope I will be able to help you.

Following my instructions, your new art-block should be a duplicate of the original artblock created by Artisteer.

Following your example, in the module.php file:

1) The new array line for the artblock in the $styles - array section should be:
'block2' => 'modChrome_artblock2

2) The duplicate function modChrome_artblock should be:
function modChrome_artblock2

and the echo artxBlock should be:
echo artxBlock2

3) Therefore in the function.php file your duplicated artxBlock should be:

function artxBlock2($caption, $content, $classes = '')
{
$hasCaption = ($GLOBALS['artx_settings']['block']['has_header']
&& null !== $caption && strlen(trim($caption)) > 0);
$hasContent = (null !== $content && strlen(trim($content)) > 0);

if (!$hasCaption && !$hasContent)
return '';

ob_start();
?>
<?php ob_start(); ?>
<div class="art-block2">
<div class="art-block-body2">

<?php echo str_replace('class="art-block2">', 'class="art-block2' . $classes . '">', ob_get_clean()); ?>
<?php if ($hasCaption): ?>
<div class="art-blockheader2">
<h3 class="t">
<?php echo $caption; ?>
</h3>
</div>

<?php endif; ?>
<?php if ($hasContent): ?>
<div class="art-blockcontent2">
<div class="art-blockcontent-body"2>

<?php echo artxReplaceButtons($content); ?>


<div class="cleared"></div>
</div>
</div>

<?php endif; ?>

<div class="cleared"></div>
</div>
</div>

<?php
return ob_get_clean();
}

4) The last step is to update the CSS stylesheet by copying the original classes for the artblock and modify the copied classes accordingly. The classes in your function.php that should be copied are
a) art-block
b) art-block-body
c) art-blockheader
d) art-blockcontent
e) art-blockcontent-body

Since the artblock is an array, I suggest copying all the classes in the artblock and updating the class names -- in this instance a "2" will be added at the end of the names.

I hope that helps and makes sense. If you have any questions, please feel free to email me.
 
FRANCESCO

Posted: 4/16/2011
Quote message 

CIAO SABRINA...
ho artisteer 2.2 ...ma la procedura ha funzionato comunque.
Se hai modo scambiamoci il link skype o mail così da darci una mano con questo programma.... sei d'accordo ?

dove ce li possiamo scambiare ?
 
wp

Posted: 4/20/2011
Quote message 

This is all overcomplicated, i have found a much easier solution and you only have to duplicate the css for the existing module and rename it and the modules take on the styling of your suffix. No need to alter module or function files, but i'll do a rough guide when i get time to do so.
 
Sabrina

Posted: 4/20/2011
Quote message 

Quote wp:

This is all overcomplicated, i have found a much easier solution and you only have to duplicate the css for the existing module and rename it and the modules take on the styling of your suffix. No need to alter module or function files, but i'll do a rough guide when i get time to do so.


Again, when I first posted my solution, I did mention that I was not a CSS guru and I was more than sure there was an easier way to do.

So when you "find the time" to create a rough guide, I am sure many of us will be grateful for your solution. However I found it curious that you did "find the time" to post something negative.... hummm....

At the end of the day, prior to my post, no one else "found the time" to provide an answer. And while my solution was "overcomplicated", at least I took the time to share it others who were looking for help...

Like that all saying goes, "if you are not a part of the solution, you're just taking up space"

Be prosperous.
 
Sabrina

Posted: 4/20/2011
Quote message 

Quote FRANCESCO:

CIAO SABRINA...
ho artisteer 2.2 ...ma la procedura ha funzionato comunque.
Se hai modo scambiamoci il link skype o mail così da darci una mano con questo programma.... sei d'accordo ?

dove ce li possiamo scambiare ?


Ciao Francesco,

Grazie mille per la risposta e-mail. In risposta alla tua domanda, il mio nome skype è PresGuru e la mia email è info@presguru.com.

Non esitate a contattarci in modo da poter scambiare informazioni di contatto e Artisteer consigli e soluzioni.

Essere prospero e volendo ti amo.

 
Sabrina

Posted: 4/20/2011
Quote message 

After being slightly vexed by another forum user, I decided to search all the postings until I found a simplistic solution for using the module class suffix feature in Artisteer 3. I am happy to say that I found an answer from WP in a post from March 2011.

Accordingly, I have created a new instruction guide for how to add a new art block using the module class suffix.

www.presgurudesign.com/docs/Artisteer3_Adding_A_New_ArtBlock_Rev.pdf

I must say this was so much easier than my original solution and I am sooooo :-D!!!

Happy designing everyone! Be prosperous and wishing you love.
 
wp

Posted: 4/21/2011
Quote message 

Quote Sabrina:

After being slightly vexed by another forum user, I decided to search all the postings until I found a simplistic solution for using the module class suffix feature in Artisteer 3. I am happy to say that I found an answer from WP in a post from March 2011.

Accordingly, I have created a new instruction guide for how to add a new art block using the module class suffix.

www.presgurudesign.com/docs/Artisteer3_Adding_A_New_ArtBlock_Rev.pdf

I must say this was so much easier than my original solution and I am sooooo :-D!!!

Happy designing everyone! Be prosperous and wishing you love.


Yes Sabrina, that's exactly it. It also works for the button styling as well so if you have buttons in differently styled moduled then using this same styling technique means they will match the module colours as long as you change the button image to suit the various colours.

I hope artisteer leave this the way it is now and now change the module design.
 
First Prev Page 3 of 4 Next Last