[resolved] Accessing TablePress $data (4 posts)

  1. James W. Lane
    Posted 2 years ago #

    I been working on my next revision of my Schema Plugin to work not only with your latest commit, but also resolve that issue where if I save the Schema Data it breaks the ajax for TablePress editor.

    I decided the best approach would be add a tab and build a new UI from there.

    I built a class extending the class TablePress_View and have it showing up as a tab and in the sidebar properly. But when I try to read $data its only giving me a array of the tabs and their settings that wads defined in init_view_actions() in controller-admin.php.

    My plan for this revision is to have a list of all the tables and when you select one to ajax load a new Schema settings interface. And when they save to save it to the $options for that $id vs saving it to its own table in the WordPress database. So I need to figure out a way I can list all of the tables, access the data in them, and save to their options. By looking at the Auto Import plugin I can mimic what you have for saving the options. But since it extends the Import class I think the access to the $data is being handled by that class. Yet I can seem to figure out the correct public variable to access $data.

    If you can point me in the right direction for this that would be great.



  2. TobiasBg
    Plugin Author

    Posted 2 years ago #

    Hi James,

    yes, using a separate tab might indeed be the best option here, as the "Edit" screen is really hard to work with.

    For another example of how to create a new tab, see this Extension: http://tablepress.org/download/extension/tablepress-debug.zip

    The $data array that you are getting is not the table data, but the view data.
    To also get the table data, you will need to load the desired data (the list of table IDs) in the tablepress_view_data hook (in the same way as it's done in TablePress_Controller_Admin::load_admin_page().

    Saving it to the table's own options is however also tricky, as you would first have to extend the data scheme. For new tables, that's possible by filtering that scheme, but for existing tables, you could run into trouble. The better approach might therefore be to use a custom structure (e.g. a JSON encoded array, as JSON is better than serialize() in a WP Option).


  3. James W. Lane
    Posted 2 years ago #

    Yeah I figured out how to add the table like you did in your debug extension, I am getting better at this :)

    I will look at pulling the data through that method

    I will also look at JSON encoding the array for saving.

    Those are my goals for this week. That and putting out other fires at work.

  4. TobiasBg
    Plugin Author

    Posted 2 years ago #


    nice! Good to hear that the Debug Extension is helpful, and that the other suggestions are also helpful. :-)


Topic Closed

This topic has been closed to new replies.

About this Plugin

  • TablePress
  • Frequently Asked Questions
  • Support Threads
  • Reviews

About this Topic