I would use MIGx for this - infact i Do use MIGx for it. (
http://modx.com/extras/package/migx)
Set up a MIGx tv - Accordion
Form Fields
[
{"caption":"Panel", "fields": [
{"field":"title","caption":"Title","inputTVtype":"text"},
{"field":"text","caption":"Content","inputTVtype":"richtext"}
]
}
]
Grid Columns:
[
{"header": "Title", "sortable": "false", "dataIndex": "title" },
{"header": "Content", "sortable": "false", "dataIndex": "text"}
]
Accordion Chunk (this is your own accordion html/js btw)
<h2 class="acc_trigger"><a href="#">[[+title]]</div><div style="float:left; width:30px;" ></a></h2>
<div style="display: block;" class="acc_container">
<div class="block"> [[+text]] </div>
</div>
Note the two fields are the same fields as what is in the TV.
Create a chunk
[[$Accordion]]
and add this snippet to it.
[[getImageList? &tpl=`Accordion` &tvname=`Accordion` &docid=`[[*id]]` ]]
Then you place the [[$Accordion]] chunk anywhere you want the accordion to appear. if you want to sort them you can just drag and drop them in the MIGx grid to the order you desire.
Theres more than one way to skin a cat in MODx though, but thats my way