We will start with a very simple block, one that just displays "Hello World". Once you get the idea, you will be able to construct any Javascript block for PHP-Nuke - they all follow the same rules.
We will keep the Javascript code in a separate file, say hello-world.php, in the PHP-Nuke includes directory. The includes directory is a natural place for it,
because it also contains the javascript.php file (see Section 21.9.1). You can use the javascript.php file to store your own Javascript functions (as shown in
Javascript in a PHP-Nuke block), but for this simple example, hello-world.php is
more than enough. It contains only a few lines:
<?php
echo '
document.write("Hello World!");
';
?>
|
Now, create a block, block-Hello_World.php, in the blocks folder that contains:
<?php
if (eregi("block-Hello_World.php",$_SERVER[PHP_SELF])) {
Header("Location: index.php");
die();
}
$content.="<center><script language=\"JavaScript\"
src=\"includes/hello-world.php\"></script></center></b>";
?>
|
As you can see, block-Hello_World.php loads the hello-world.php from the includes folder as a Javascript code. hello-world.php, in turn, is executed and echoes the document.write command in the
HTML file that is sent to the client's browser. When a the browser receives it (and has Javascript enabled), executes the code writing the "Hello World" message in the place it was called - in the
Hello World block.
Using this technique, you can create blocks that are very rich in functionality - just echo their code with a PHP file and call that file as Javascript code from
the block. See Section 20.5.3 for a non-trivial example.