Custom Blocks are created in Blocks Administration found in System Admin -> Blocks.
From here, it is possible to create blocks with one of four types:
HTMLRegular HTML code can be put in this block
PHPRegular PHP code can be used in this block as if it was a block in a module. Note that you are in a function scope, when creating this block, so any global variables such as $xoopsUser (User object) and $xoopsDB (Database object) must be declared global before use
Autoformat (Smilies enabled)Normal Xoops code format with linebreaks and XoopsCode tags such as [img ] and [url ] (without spaces)
Smilies are interpreted and converted to the corresponding image
Autoformat (Smilies disabled)Similar to the other Autoformat, but smilies are not converted, but will be displayed as e.g. : -) (without spaces)
Please also see
This flash tutorial for more details.
More info needed
This seems more a description of the custom block area than an answer to the question, "How do I create a custom block?" Posting random text is one thing, but my question is: how do I make a useful block element. I am familiar with HTML and CSS, but don't have a clue about PHP. A practical illustration would be: how do I make a custom block that would display a single forum? Or how do I create a block that would display the title and a teaser of all of the articles in a single category.