aboutsummaryrefslogtreecommitdiffstats
path: root/doc/Widgets.md
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2017-10-29 22:00:03 -0700
committerzotlabs <mike@macgirvin.com>2017-10-29 22:00:03 -0700
commit56c3d5dbcbdbaef9df7cb03d24e67ad8c4a157d0 (patch)
tree801bc6d82130a876b60a54ed5912ba73f667d39e /doc/Widgets.md
parentceed0f7a1b6d7ee713c23937a9449bd84324caf6 (diff)
downloadvolse-hubzilla-56c3d5dbcbdbaef9df7cb03d24e67ad8c4a157d0.tar.gz
volse-hubzilla-56c3d5dbcbdbaef9df7cb03d24e67ad8c4a157d0.tar.bz2
volse-hubzilla-56c3d5dbcbdbaef9df7cb03d24e67ad8c4a157d0.zip
add some documentation about shareable widgets
Diffstat (limited to 'doc/Widgets.md')
-rw-r--r--doc/Widgets.md34
1 files changed, 32 insertions, 2 deletions
diff --git a/doc/Widgets.md b/doc/Widgets.md
index 4ad899a0f..7761b1833 100644
--- a/doc/Widgets.md
+++ b/doc/Widgets.md
@@ -129,14 +129,44 @@ Some/many of these widgets have restrictions which may restrict the type of page
Creating New Widgets
====================
-If you want a widget named 'slugfish', create widget/slugfish.php containing
+### Class Widgets
+
+To create a class-based widget named 'slugfish' create a file with the following contents:
+
+````
+<?php
+
+namespace Zotlabs\Widget;
+
+
+class Slugfish {
+
+ function widget($args) {
+
+ ... widget code goes here.
+ ... The function returns a string which is the HTML content of the widget.
+ ... $args is a named array which is passed any [var] variables from the layout editor
+ ... For instance [widget=slugfish][var=count]3[/var][/widget] will populate $args with
+ ... [ 'count' => 3 ]
+
+ }
+
+````
+
+The resultant file may be placed in widget/Slugfish/Slugfish.php , or Zotlabs/SiteWidgets/Slugfish.php . It also may be linked from a git repository using util/add_widget_repo.
+
+
+
+Traditional function based widget:
+
+If you want a widget named 'slugfish', create widget/widget_slugfish.php containing
<?php
function widget_slugfish($args) {
- .. widget code goes here
+ .. widget code goes here. See above information for class-based widgets for details.
}