Resource icon

xF2 Add-on Data Tables 1.1.0 2026-03-23

No permission to download
Compatible XF Versions
2.3
Data Tables lets administrators create stand-alone, fully customizable data tables within XenForo - no code required. Define your own columns, set up dropdown lookups, link records across tables, and manage structured data right from the AdminCP, with clean public-facing display pages wrapped in your forum's theme.

Perfect for product catalogs, game databases, team rosters, pricing tables, inventory lists, or any structured data that doesn't fit neatly into forum threads.



Key Features​

  • Dynamic Table Definitions - Create unlimited tables, each with its own title, URL slug, description, and display order. Toggle tables active/inactive without deleting data.
  • 8 Field Types - Build columns using: Text, Number, URL, Date, Lookup (dropdown), Table Lookup (cross-table reference), Text Area, and Yes/No (boolean). Each field supports sortable and filterable flags.
  • Lookup Columns (Relational Dropdowns) - Define dropdown options for any field. Options are stored relationally (not as flat strings), enabling clean data entry and consistent display.
  • Cross-Table Relational Lookups - Link records between tables with the Table Lookup field type. Select a linked table and a display field, and users pick from records in that table via dropdown. Values render as clickable links to the referenced record.
  • Inline "Create New" Overlay - A "+" button next to every Table Lookup dropdown opens a modal to create a new record in the linked table. Saves via AJAX and auto-selects in the parent dropdown - no page reload, no navigating away. Works in both AdminCP and public pages.
  • Record Detail Pages - Each record has its own detail page at /data-tables/{slug}/view-record?record_id=N showing all fields and a "Referenced by" section listing records from other tables that point to it.
  • Admin Record Management - Full CRUD for records within the AdminCP. Dynamic forms automatically adapt to your field definitions - text fields become text inputs, lookups become dropdowns, numbers get spinners, booleans get checkboxes.
  • Public Table Display - Clean, responsive public pages at /data-tables/ showing all active tables, with individual table views at /data-tables/{slug}/. Full theme integration.
  • Column Sorting - Mark fields as "sortable" in the admin, and users can click column headers on the public table view to sort ascending/descending.
  • Public Record Submission - Optionally allow members to submit new records from the public side (permission-controlled).
  • Permission-Controlled Access- Two permissions out of the box:
    • View data tables (default: Allow for all)
    • Add records (default: No)
  • Pagination - Both admin and public views paginate at 50 records per page.
  • AJAX Field Configuration - When editing fields, selecting "Table Lookup" dynamically shows linked table and display field dropdowns via AJAX - no page reload needed.
  • Clickable URL Fields - URL-type field values render as clickable links in both admin and public table views.
  • Clean Uninstall - All 5 database tables are dropped on uninstall. No leftover data.



How It Works​

  1. Create a Definition - Go to AdminCP > Tools > Data Tables > Add Definition. Give it a title (e.g., "Product Catalog") and a URL slug (e.g., "products").
  2. Add Fields- Click "Fields" to define your columns. For example:
    • Name (Text, Required, Sortable)
    • Category (Lookup - with options like "Electronics", "Clothing", "Home")
    • Price (Number, Sortable)
    • In Stock (Yes/No)
    • Website (URL)
    • Manufacturer (Table Lookup - linked to a "Manufacturers" table, displaying the "Name" field)
  3. Add Records - Click "Records" to start entering data. The form automatically generates the right input type for each field. Need a new linked record? Click the "+" next to any Table Lookup dropdown and create one inline.
  4. View Publicly - Visit /data-tables/products/ to see your table with sortable columns, resolved lookup values, clickable cross-links, and clean formatting. Click any record to see its detail page with reverse references.



Cross-Table Relationships Example​

Say you have two tables: "Manufacturers" and "Products". Add a Table Lookup field to Products that points to Manufacturers. Now when adding a product, users pick from existing manufacturers via dropdown. In the Products table, manufacturer names appear as clickable links to the manufacturer's detail page. On the manufacturer's detail page, a "Referenced by" section lists all products that reference it.



Technical Details​

  • Architecture:Hybrid JSON + normalized lookups across 5 database tables
    • xf_qubn_dt_definition - table definitions
    • xf_qubn_dt_field - column definitions per table
    • xf_qubn_dt_lookup_option - dropdown options for lookup fields
    • xf_qubn_dt_record - data rows (JSON blob per record)
    • xf_qubn_dt_record_ref - denormalized cross-table reference tracking
  • Performance: Lookup values resolved in a single batch query. Cross-table references tracked via denormalized table for fast reverse lookups. Composite indexes on frequently-queried columns. Paginated to 50 records per page.
  • Compatibility: XenForo 2.3.x. No class extensions - completely self-contained with zero conflicts.
  • Code Quality: PHPStan level 3 clean. Follows XenForo conventions throughout. All user input filtered. CSRF protection on all forms.
  • Upgrade: Seamless upgrade from v1.0.0 with 2 automatic migration steps.



Installation​

  1. Download and extract the ZIP file
  2. Upload the Qubn/DataTables/ folder to src/addons/
  3. Go to AdminCP > Add-ons > Install from archive (or Install/upgrade)
  4. Navigate to AdminCP > Tools > Data Tables to start creating tables



Addon ID: Qubn/DataTables
Vendor: Qubn
License: Free / Open Source
Author
sucre13
Downloads
0
Views
12
Last update
Rating
0.00 star(s) 0 ratings
Top