# Nacelle App for Sanity
The @nacelle/sanity-plugin-pim-linker
(opens new window) package is a Sanity Studio (opens new window) plugin that provides a custom input component (opens new window) for referencing product & collection data stored in Nacelle indices.
Expand to see the custom input component in action!

# Installation & Setup
In your Sanity Studio project:
# Install Peer Dependencies
npm i @sanity/ui styled-components
# Install the plugin
sanity install @nacelle/sanity-plugin-pim-linker
# Credentials
You'll need to provide the ID and Token associated with your Nacelle space. These credentials can be found in the Nacelle Dashboard (opens new window).
You can add these credentials in one of two ways:
# in ./config/@nacelle/sanity-plugin-pim-linker.json
{
"nacelleSpaceId": "<your-nacelle-space-id>",
"nacelleSpaceToken": "<your-nacelle-graphql-token>"
}
# in .env.development
/ .env.production
SANITY_STUDIO_NACELLE_SPACE_ID=your-nacelle-space-id
SANITY_STUDIO_NACELLE_SPACE_TOKEN=your-nacelle-graphql-token
# Use in Schema Documents
Set the type
field to nacelleData
to use the custom input component:
{
name: 'handle',
title: 'Handle',
type: 'nacelleData',
}
# Options
By default, the custom input component allows you to choose a handle
from either products or collections.
Realistically, you probably want to restrict the component to either products or collections. To do that, provide either ['products']
or ['collections']
to options.dataType
:
// example: collections ONLY
{
name: 'collectionHandle',
title: 'Collection',
type: 'nacelleData',
options: {
dataType: ['collections']
}
}
// example: products ONLY
{
name: 'productHandle',
title: 'Product',
type: 'nacelleData',
options: {
dataType: ['products']
}
}